r-使用sigens.hclust()获取切割高度



我正在使用identify.hclust中的hclust手动切割一个模拟图。该函数的默认返回是每个组中观察值的ID。我需要此信息,但我还需要知道该组的高度。有什么办法吗?谢谢!

可再现数据:

set.seed(1)
dat = rnorm(100,0,1)
hca = hclust(dist(dat))
plot(hca, hang=-1, sub="", xlab="", labels=F)
heightsAndIDs = identify(hca) #Gives only IDs

例如,我使用identify在以下高度上切割了树状图,并希望获得分支合并的高度:

segments(3,2,8, col="red")
segments(15,1,18, col="green")
segments(20,1,24,col="blue")
segments(38,1.5,45,col="purple")
segments(75, 1.5, 82,col="cyan")

我怀疑您可以从两个函数heights_per_k.dendrogramget_branches_heights从R package dendextend获得答案。

这是一个小例子:

set.seed(1)
dat = rnorm(100,0,1)
hca = hclust(dist(dat))
library(dendextend)

例如:

> sort(heights_per_k.dendrogram(dend))[1:7]
          100            99            98 
0.00002485728 0.00010400211 0.00020365009 
           97            96            95 
0.00118445439 0.00180321776 0.00215161572 
           94 
0.00230368982 
> sort(heights_per_k.dendrogram(dend), T)[1:7]
        1         2         3         4         5 
4.6163377 4.6162976 3.1585161 1.8779138 1.3384979 
        6         7 
1.1705453 0.9620798 

这会为您提供答案的工具?

相关内容

  • 没有找到相关文章

最新更新