在R中以一定高度切割树木时,如何找到簇数
我想找出在给定高度切割一棵树时的簇数 这棵树在R中属于“树状图”类,因此我一直在使用Dendex包来探索这一点 例如:在R中以一定高度切割树木时,如何找到簇数,r,hierarchical-clustering,dendrogram,unsupervised-learning,dendextend,R,Hierarchical Clustering,Dendrogram,Unsupervised Learning,Dendextend,我想找出在给定高度切割一棵树时的簇数 这棵树在R中属于“树状图”类,因此我一直在使用Dendex包来探索这一点 例如: # Create a dend: dend <- 1:5 %>% dist %>% hclust %>% as.dendrogram # Plot it: dend %>% plot #创建一个dend: 密度%dist%>%hclust%>%as.dengram #绘制它: 密度%>%绘图 例如,我想在指定“高度=3”(请参见生成的绘图中的y
# Create a dend:
dend <- 1:5 %>% dist %>% hclust %>% as.dendrogram
# Plot it:
dend %>% plot
#创建一个dend:
密度%dist%>%hclust%>%as.dengram
#绘制它:
密度%>%绘图
例如,我想在指定“高度=3”(请参见生成的绘图中的y轴)时找到有多少簇
在高度3,我应该得到答案“2”,因为在这个高度,一条水平线应该撞击两条垂直线,因此生成两个簇
在“高度=1.5”时,答案应为“3”,因为三条线交叉等
我使用类dendrogram
的对象,因为我的原始数据是Newick格式的,我只找到了read.dendrogram()
函数来解析这棵树。我使用了as.hclust()
将其转换为hclust
类,但仍然找不到答案
另外,如果有人知道如何绘制通过指定高度生成的簇,这会有所帮助。您想使用Dendex中的cutree吗
library(dendextend)
dend <- 1:5 %>% dist %>% hclust %>% as.dendrogram
length(unique(cutree(dend, h = 1.5)))
库(Dendestend)
密度%dist%>%hclust%>%as.dengram
长度(唯一(截树(密度,h=1.5)))