看看这个页面:
我也有类似的问题问here
似乎我们可以使用 cophenetic 相关性来衡量两个树状图之间的相似性。但目前 R 中似乎没有用于此目的的功能。
在 2014,9,18 编辑:包中
的cophenetic
函数stats
能够计算并列相异矩阵。并且可以使用cor
函数计算相关性。正如@Tal 指出的那样,该as.dendrogram
函数以不同的顺序返回了树,如果我们根据树状图结果计算相关性,则会导致错误的结果。如包中函数cor_cophenetic
函数示例所示dendextend
:
set.seed(23235)
ss <- sample(1:150, 10 )
hc1 <- iris[ss,-5] %>% dist %>% hclust("com")
hc2 <- iris[ss,-5] %>% dist %>% hclust("single")
dend1 <- as.dendrogram(hc1)
dend2 <- as.dendrogram(hc2)
# cutree(dend1)
cophenetic(hc1)
cophenetic(hc2)
# notice how the dist matrix for the dendrograms have different orders:
cophenetic(dend1)
cophenetic(dend2)
cor(cophenetic(hc1), cophenetic(hc2)) # 0.874
cor(cophenetic(dend1), cophenetic(dend2)) # 0.16
# the difference is becasue the order of the distance table in the case of
# stats:::cophenetic.dendrogram will change between dendrograms!