我有一个以百万年为单位的绝对分支长度的系统发育树。如何计算值介于0和1之间的距离矩阵?
发布于 2013-09-17 10:20:04
假设您在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.0000000https://stackoverflow.com/questions/17612879
复制相似问题