【发布时间】:2015-07-23 11:09:13
【问题描述】:
我使用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)
我读过hereclusplot 使用cmdscale 和princomp,这是有道理的。但是,没有给出操作的顺序。
如何从clusplot 的输出中获取 Component1 和 Component2 坐标,以及它们的集群标签和点 ID? 我想访问这些以修改/绘制它们在ggplot中。
我可以猜测绘图与轮廓信息有某种关系,但不太明白我们如何得到下面的最终绘图:
【问题讨论】:
-
可以访问函数的代码(即
edit(cluster:::clusplot.default)) -
@Pascal,谢谢 - 我实际上只是在看代码。它看起来很长。我最好猜测一下如何实现它。
-
这个查询发生了什么?你有没有设法找到一种方法来获得你所追求的坐标?我有完全相同的问题,我想在
fviz_cluster图中确定一个特定点。
标签: r ggplot2 cluster-analysis