私はk-medoidsアルゴリズムを使用します pam
(対称)距離行列に基づいてクラスタリングを行うためには、 tmp
以下:
if(!require("cluster")) { install.packages("cluster"); require("cluster") }
tmp <- matrix(tmp <- matrix(c( 0, 20, 20, 20, 40, 60, 60, 60, 100, 120, 120, 120,
20, 0, 20, 20, 60, 80, 40, 80, 120, 100, 140, 120,
20, 20, 0, 20, 60, 80, 80, 80, 120, 140, 140, 80,
20, 20, 20, 0, 60, 80, 80, 80, 120, 140, 140, 140,
40, 60, 60, 60, 0, 20, 20, 20, 60, 80, 80, 80,
60, 80, 80, 80, 20, 0, 20, 20, 40, 60, 60, 60,
60, 40, 80, 80, 20, 20, 0, 20, 60, 80, 80, 80,
60, 80, 80, 80, 20, 20, 20, 0, 60, 80, 80, 80,
100, 120, 120, 120, 60, 40, 60, 60, 0, 20, 20, 20,
120, 100, 140, 140, 80, 60, 80, 80, 20, 0, 20, 20,
120, 140, 140, 140, 80, 60, 80, 80, 20, 20, 0, 20,
120, 120, 80, 140, 80, 60, 80, 80, 20, 20, 20, 0),
nr=12, dimnames=list(LETTERS[1:12], LETTERS[1:12]))
tmp_pam <- pam(as.dist(tmp, diag = TRUE, upper = TRUE) , k=3)
tmp_pam$clusinfo # get cluster info
tmp_pam$silinfo # get silhouette information
clusplot(tmp_pam)
読みました ここに それ clusplot
用途 cmdscale
そして princomp
これは意味をなさない。ただし、操作の順序は示されていません。
どのようにして、Component1とComponent2の座標を、そのクラスターラベルとポイントIDと共に出力から得ることができますか? clusplot
? 私はggplotでそれらを変更/プロットするためにこれらにアクセスしたいです。
私はプロットがシルエット情報に何らかの形で関係していると推測できますが、以下の最終プロットにどのように到達するのかをよく理解していません。
回答:
回答№1は0による ドキュメンテーション、clusplotは
- 主成分分析
- 多次元スケーリング
データを投影します。おそらく、データか距離行列のどちらを渡したかによって決まります。