我有一棵绝对分支长度在百万年之内的系统发育树。如何计算值在0到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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句