我有一组包含以下内容的数据: 项目,关联群集,轮廓系数。如有必要,我可以使用更多信息进一步扩充此数据集。
我想在R中生成一个轮廓图。我遇到了麻烦,因为我遇到的例子使用内置的kmeans(或相关的)聚类函数并绘制结果。我想绕过这一步并为我自己的聚类算法生成图,但我最终没有为绘图函数提供正确的参数。
谢谢。
修改
数据集示例https://pastebin.mozilla.org/8853427
我尝试过的是加载数据集并使用基于https://stat.ethz.ch/R-manual/R-devel/library/cluster/html/silhouette.html的各种参数将其传递给plot
函数
答案 0 :(得分:9)
包MAIN
中的函数silhouette
可以为您创建图表。它只需要一个集群成员资格的向量(由您选择的任何算法生成)和一个相异度矩阵(可能最好使用与生成集群时相同的一个)。例如:
cluster
编辑:对于k-means(使用平方欧几里德距离)
library (cluster)
library (vegan)
data(varespec)
dis = vegdist(varespec)
res = pam(dis,3) # or whatever your choice of clustering algorithm is
sil = silhouette (res$clustering,dis) # or use your cluster vector
windows() # RStudio sometimes does not display silhouette plots correctly
plot(sil)