계층적(위계적) 군집분석(Hierarchical Clustering Analysis)
창세기 14장(NIV 버전)의 내용을
숫자, 문장부호, 불용어를 제거하고,
DTM(Document Term Matrix)를 만들었다.
여기서 행은 각 절이 되고, 열은 각 절에 있는 단어들이다.
유클리드 거리를 이용하여 계층적(또는 위계적) 군집분석(Hierarchical Clustering Analysis)을 할 결과이다.
install.packages("KoNLP")
install.packages("tidyverse")
install.packages("tm")
library(KoNLP)
library(tidyverse)
library(tm)
genesis <- readLines(con = "d:/genesis.txt", encoding = "UTF-8")
genesis <- tm::stripWhitespace(genesis)
genesis <- stringr::str_trim(string = genesis, side = "both")
genesis <- genesis[nchar(genesis) > 0]
genesic.corpus <- tm::VCorpus(VectorSource(genesis))
genesic.corpus <- tm::tm_map(genesic.corpus, removeNumbers)
genesic.corpus <- tm::tm_map(genesic.corpus, removePunctuation)
genesic.corpus <- tm::tm_map(genesic.corpus, removeWords, stopwords('english'))
genesis.dtm <- tm::DocumentTermMatrix(genesic.corpus)
genesis.dist <- dist(genesis.dtm)
genesis.hclust <- hclust(genesis.dist, method = "ward.D2")
plot(genesis.hclust,
main = "Cluster Dendrogram of Genesis 14",
xlab = "Phase")
genesis.dend <- as.dendrogram(genesis.hclust)
genesis.dend %>%
dendextend::color_branches(k = 3) %>%
dendextend::color_labels(genesis.dend, k = 3) %>%
dendextend::set("branches_lwd", 2) %>%
dendextend::set("branches_lty", 1) %>%
plot()