Получите "абсолютное" (?) Расстояние между двумя вершинами (или узлами) в дереве - PullRequest
0 голосов
/ 19 июня 2020

Я хочу получить абсолютные расстояния между двумя узлами / вершинами в дереве phylogeneti c в R.

Например, возьмите следующее дерево:

enter image description here

library(ape)
tre <- read.tree(text = "((a:1, b:5):5,c:0);")
plot(tre)
edgelabels(tre$edge.length, col="black", font=2)

> dist.nodes(tre)[which(tre$tip.label=='a'), which(tre$tip.label=='b')]
[1] 6
> dist.nodes(tre)[which(tre$tip.label=='b'), which(tre$tip.label=='a')]
[1] 6

Расстояние patristi c между a и b равно 6. Однако я хочу вычислить «абсолютные» (?) Расстояния, например. из a> b я хочу получить 4 (-1 + 5), а для b> a я хочу получить -4 (-5 + 1). В идеале я хочу получить матрицу, которая вычисляет все эти расстояния для всего дерева, как это делает dist.nodes. Есть ли способ сделать это?

...