我有一棵绝对分支长度以百万年为单位的系统发育树。如何计算值在 0 到 1 之间的距离矩阵?
问问题
671 次
1 回答
1
假设您在 R 中有一个系统发育树,您可以使用 ape 包中的 cophenetic.phylo() 函数计算每个分类群之间的距离。
从那里,如果你除以矩阵的最大值,你将得到一个介于 0 和 1 之间的矩阵。
例如:
tree = rtree(5)
dist.mat = cophenetic.phylo(tree)
dist.mat
t2 t1 t4 t5 t3
t2 0.0000000 0.9832129 1.815684 1.646854 1.483749
t1 0.9832129 0.0000000 1.166180 1.779498 1.616393
t4 1.8156839 1.1661797 0.000000 2.611969 2.448864
t5 1.6468535 1.7794981 2.611969 0.000000 1.527042
t3 1.4837485 1.6163931 2.448864 1.527042 0.000000
dist.mat / max(dist.mat)
t2 t1 t4 t5 t3
t2 0.0000000 0.3764259 0.6951399 0.6305027 0.5680575
t1 0.3764259 0.0000000 0.4464753 0.6812860 0.6188408
t4 0.6951399 0.4464753 0.0000000 1.0000000 0.9375548
t5 0.6305027 0.6812860 1.0000000 0.0000000 0.5846325
t3 0.5680575 0.6188408 0.9375548 0.5846325 0.0000000
于 2013-09-17T02:20:03.650 回答