【发布时间】:2017-07-10 15:31:36
【问题描述】:
我在 R 中工作,使用 dendextend 包,试图将 hclusts 对象与 cop_cophenetic 进行比较。
我有两个从聚类中产生的对象:clusts 和 clusts1,我想比较它们之间的共生相关性。我有以下几种选择:
cor_cophenetic(as.phylo(clusts), as.phylo(clusts1))
[1] 0.1632751
cor_cophenetic(as.dendrogram(clusts), as.dendrogram(clusts1))
[1] 0.1632751
cor_cophenetic(clusts, clusts1)
[1] 0.689649
cor_cophenetic(as.phylo.hclust(clusts), as.phylo.hclust(clusts1))
[1] 0.1632751
我还可以尝试使用 base R 更直接的方法
cor(as.vector(cophenetic(clusts)), as.vector(cophenetic(clusts1)))
[1] 0.689649
首先,我不明白在 hclusts 对象上调用 cor_cophenetic 与在树状图或 phylos 上调用 cor_cophenetic 之间的区别。这里有正确的方法吗?
接下来,我尝试对clusts1的标签进行随机化测试。
per <- sample(length(clusts1$labels))
clusts1$labels <- clusts1$labels[per]
虽然 dendros 上的 cophenetic 在随机化上有所不同(我得到了一个分布)。 hclusts 上的直接同义词保持固定 (0.689649) - 不会改变。为什么会这样?
【问题讨论】:
标签: r hclust dendextend