在r中的cutree之后找到层次聚类树形图中的簇数

时间:2016-04-04 15:38:20

标签: r hierarchical-clustering

在树形图上使用cutree后,我有一些问题要找到簇的数量。这是我的方法:

mat <- a huge matrix
hc <- (as.dist(mat), method = "average", members = NULL)  
#to cut the tree just 1 level below the maximum height
tree <- cutree(hc, h = hc$height[[length(hc$height)-1]])  

通过打印树变量,我可以看到我的树形图被切割成两个簇。我也可以使用名称(树[tree == 1])从每个集群中获取标签,但是如何在不查看数据的情况下获取集群数量?我想基于它在树变量中拥有的簇数量在管道中自动执行此操作。

1 个答案:

答案 0 :(得分:0)

最后我通过在剪切树形图之后在树对象上运行循环来回答我的问题,但这可能不是最佳解决方案。并随意建议修改,使其更优雅..

clust <- c()
for (i in 1:length(tree)){
clust[i] <- tree[[i]]
}
length(unique(clust))  

根据我的知识,这应该给出答案。
谢谢