- 계층적 군집분석(Hierarchical Clustering)
- 거리가 가장 가까운 대상부터 결합하여 나무모양의
- 계층구조를 상향식(Bottom-up)으로 만들어가면서 군집을 형성
1. common.interval 을 이용한 missing Ring을 제외하기
wapd.fh <- read.fh("wapd_raw.fh")
wapd.s <- common.interval(wapd.fh, type="series", make.plot=TRUE)
2. data 만들기
data <- wapd.s
3. 행열 바꾸기 #Matrix Transpose
data02 <- t(data)
4. 유클리드 거리 생성 함수 // 거리의 계산 (Calcuate distance)
d02 <- dist(data02, method = "euclidean")
4.
알고리즘의 종류 : single linkage, complete linkage, average linkage, controid, Ward
single linkage | 한 군집의 점과 다른 군집의 점 사이의 가장 짧은 거리(shortest distance) |
complete linkage | 한 군집의 점과 다른 군집의 점 사이의 가장 긴 거리(longest distance) |
average linkage | 한 군집의 점과 다른 군집의 점 사이의 평균 거리. UPGMA(unweighted pair group mean averaging)이라고도 한다. |
controid | 두 군집의 centroids(변수 평균의 벡터) 사이의 거리.관측치가 하나인 경우 centroid는 변수의 값이 된다 |
Ward | 모든 변수들에 대하여 두 군집의 ANOVA sum of square를 더한 값 |
hc02 <- hclust(d02, method = "complete" )
hc03 <- hclust(d02, method = "ward.D2" )
5. 덴드로그램 시각화
plot(hc02, cex = 0.6, hang = -1)
rect.hclust(hc02, k=3, border="red") //
## 프로그램 시작, 패키지 불러오기, 작업폴더 설정 ##
> library(dplR)
> library(utils)
> setwd("/R/")
## 데이터 만들기 ##
> wapd.fh <- read.fh("wapd_raw.fh")
> data02 <- t(data)
> d02 <- dist(data02, method = "euclidean")
## 군집분석 ##
> hc02 <- hclust(d02, method = "complete" )
> plot(hc02, cex = 0.6, hang = -1)
> rect.hclust(hc02, k=3, border="red")
## 시각화 ##
> hc03 <- hclust(d02, method = "ward.D2" )
> plot(hc03, cex = 0.6, hang = -1)
> rect.hclust(hc03, k=3, border="red")
## 데이터 만들기 ##
kopd.fh <- read.fh("/Users/user/Documents/R/all_master_20190618_single.fh")
kopd.s <- common.interval(kopd.fh, type="series", make.plot=TRUE)
data <- t(kopd.s)
data
d <- dist(data, method = "euclidean")
d
## 군집분석 complete linkage ##
hc <- hclust(d, method = "complete" )
plot(hc, cex = 0.6, hang = -1)
rect.hclust(hc, k=3, border="red")
## 군집분석 ward ##
hc_ward <- hclust(d, method = "ward.D2" )
plot(hc_ward, cex = 0.6, hang = -1)
rect.hclust(hc_ward, k=3, border="red")
http://leoslife.com/archives/4472
https://blog.naver.com/jaychun01/221402746143
https://www.r-bloggers.com/how-to-perform-hierarchical-clustering-using-r/
'연륜연대학 > R Coding' 카테고리의 다른 글
R 실습_능동형 지도 제작 with OSM (0) | 2022.03.02 |
---|---|
통계의 기본개념 #1, 자료와 변수 개념 (0) | 2020.05.18 |
dplR 패키지 설치하기 (0) | 2019.06.20 |
R 설치하기 (0) | 2019.06.20 |
R 시작하다. (0) | 2019.03.31 |