在树形图上使用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])从每个集群中获取标签,但是如何在不查看数据的情况下获取集群数量?我想基于它在树变量中拥有的簇数量在管道中自动执行此操作。
答案 0 :(得分:0)
最后我通过在剪切树形图之后在树对象上运行循环来回答我的问题,但这可能不是最佳解决方案。并随意建议修改,使其更优雅..
clust <- c()
for (i in 1:length(tree)){
clust[i] <- tree[[i]]
}
length(unique(clust))
根据我的知识,这应该给出答案。
谢谢