我有一个300×2的数据矩阵,也就是两个变量的300次观测。使用R中的kmeans函数,我可以用以下方式绘制生成的集群:
data <- scale(data)
fit.kmeans <- kmeans(data, 3)
plot(data, col = fit.kmeans$cluster)这提供了一个不错的二维的原始数据,颜色由集群。是否有使用hclust函数进行相同操作的简单方法?或者,是否还有另一个函数可以让我实现不同的聚类方法,并随后绘制出生成的集群?提前谢谢。
发布于 2018-05-17 20:45:43
每个聚类方法以稍微不同的方式报告集群。通常,您需要查看群集函数返回的结构。
但是,您专门询问hclust的情况。要从hclust获得集群,您需要使用cutree函数以及所需的集群数量。下面是一个将其与虹膜数据结合使用的示例。
HC = hclust(dist(iris[,1:4]))
plot(iris[,3:4], pch=20, col=cutree(HC,3))

发布于 2018-05-18 01:48:45
聚类树状图是分层聚类的散点图的一个很好的替代方法:
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)

https://stackoverflow.com/questions/50400139
复制相似问题