如何在R中的一定高度切割树时如何找到簇数



我想在给定高度切割树时找到簇数。

这棵树是R中的类"树状图"的,因此我一直在使用软件包Dendextend来探索这一点。

示例:

# Create a dend:
dend <- 1:5 %>% dist %>% hclust %>% as.dendrogram
# Plot it:
dend %>% plot

我想找到指定时有多少个群集,例如"高度= 3"(请参阅生成图中的y轴(。

在高度3处,我应该得到答案" 2",因为在该高度下,水平线应撞到两条垂直线,因此产生了两个簇。

在"高度= 1.5"时,答案应为" 3",因为三行被交叉等。

我使用的是dendrogram类的对象,因为我的原始数据是纽克格式,我只找到了read.dendrogram()函数来解析此树。我已经使用as.hclust()将其转换为hclust类,但我仍然找不到答案。

另外,如果有人知道如何绘制指定高度生成的簇,那将有所帮助。

您想使用dendextend的cutree

library(dendextend)
dend <- 1:5 %>% dist %>% hclust %>% as.dendrogram
length(unique(cutree(dend, h = 1.5)))

相关内容

  • 没有找到相关文章

最新更新