绘制hclust()的输出

时间:2018-05-17 20:36:22

标签: r cluster-analysis hierarchical-clustering

我有一个300x2的数据矩阵,即2个变量的300个观测值。使用R中的kmeans函数,我可以通过以下方式绘制结果聚类:

data <- scale(data)
fit.kmeans <- kmeans(data, 3)
plot(data, col = fit.kmeans$cluster)

这给出了原始数据的精美二维图,由群集着色。有没有简单的方法使用hclust函数做同样的事情?或者,是否有另一个函数可以让我实现不同的聚类方法,然后绘制生成的聚类? 提前谢谢。

2 个答案:

答案 0 :(得分:2)

每种群集方法以稍微不同的方式报告群集。通常,您需要查看聚类函数返回的结构。

但你具体询问hclust。要从hclust获取群集,您需要将cutree函数与所需的群集数一起使用。以下是将其与虹膜数据一起使用的示例。

HC = hclust(dist(iris[,1:4]))
plot(iris[,3:4], pch=20, col=cutree(HC,3))

Clusters

答案 1 :(得分:2)

群集树形图是分层聚类的散点图的一个很好的替代方法:

tree <- hclust(d = dist(x = iris[1:50, 1:4], method = "euclidean"))
cl_members <- cutree(tree = tree, k = 3)
plot(x = tree, labels =  row.names(tree), cex = 0.5)
rect.hclust(tree = tree, k = 3, which = 1:3, border = 1:3, cluster = cl_members)

enter image description here