Rでクラスター分析
Rにはhclustというクラスター分析を行うための関数が用意されています。またデンドログラム(樹形図)を描くためのplclustという関数もありますが,plotを使用しても問題ありません。
身長(cm) | 体重(kg) | |
No.1 | 156 | 80 |
No.2 | 162 | 77 |
No.3 | 150 | 76 |
No.4 | 175 | 70 |
No.5 | 170 | 65 |
No.6 | 171 | 67 |
No.7 | 180 | 56 |
No.8 | 178 | 52 |
No.9 | 181 | 60 |
-使用例
methodには分類方法を指定します(下表を参照)。
ward ウォード法 single 最短距離法 complete 最長距離法 average 群平均法 mcquitty MaQuitty法 median メディアン法 centroid 重心法
> data [,1] [,2] [1,] 156 80 [2,] 162 77 [3,] 150 76 [4,] 175 70 [5,] 170 65 [6,] 171 67 [7,] 180 56 [8,] 178 52 [9,] 181 60 > result<-hclust(dist(data),method="single") > plot(result)
また次のような関数を定義しておけば,データ行列を用意するだけでデンドログラムを描くことができる。分類方法を変えたければ,method="single"の部分を変えればよい。
myclust<-function(dat) { d<-dist(dat) res<-hclust(d,method="single") windows() plot(res,ylab="距離",xlab="") }