axjack's blog

axjack is said to be an abbreviation for An eXistent JApanese Cool Klutz.

Rで階層的クラスタリング

あけましておめでとうございます今年も統計学とRの勉強を継続します。

ということで、いつもの通り(?)Yuyaさんの動画にて階層的クラスタリングを見たので、Rを使ってクラスタリングしてみます。

www.youtube.com

コード

# データの準備
dd <- data.frame(
  ht = c(2,1,2,4,6)
  ,sp = c(1,4,6,1,5)
)
row.names(dd) <- c('A','B','C','D','E')

# 距離行列
dd.dst <- dist(dd)

# 階層的クラスターの作成
hc.comp <- hclust(dd.dst,method = "complete")  # 最遠隣法
hc.sing   <- hclust(dd.dst,method = "single") # 最近隣法
hc.wd     <- hclust(dd.dst,method = "ward.D2") # ウォード法

# グラフの作図
dev.off()
par(mfrow = c(3,1) )
par(family = "HiraKakuProN-W3")
for(i in 1:3){
  plot(hc.comp,main = "最遠隣法")
  plot(hc.sing,main = "最近隣法")
  plot(hc.wd, main = "ウォード法")
}

グラフ

f:id:axjack:20210103213509p:plain

参考

Rによる階層的クラスタリング

axjack is said to be an abbreviation for An eXistent JApanese Cool Klutz.