0

我有一棵绝对分支长度以百万年为单位的系统发育树。如何计算值在 0 到 1 之间的距离矩阵?

4

1 回答 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 回答