Branch Lengths Computation
This function computes branch lengths of a tree using different methods.
compute.brlen(phy, method = "Grafen", power = 1, ...)
- an object of class
phylorepresenting the tree.
- the method to be used to compute the branch lengths;
this must be one of the followings: (i)
"Grafen"(the default), (ii) a numeric vector, or (iii) a function.
- The power at which heights must be raised (see below).
- further argument(s) to be passed to
methodif it is a function.
Grafen's (1989) computation of branch lengths: each node is given a `height', namely the number of leaves of the subtree minus one, 0 for leaves. Each height is scaled so that root height is 1, and then raised at power 'rho' (> 0). Branch lengths are then computed as the difference between height of lower node and height of upper node.
If one or several numeric values are provided as
are recycled if necessary. If a function is given instead, further
arguments are given in place of
... (they must be named, see
Zero-length branches are not treated as multichotomies, and thus may
need to be collapsed (see
- An object of class
phylowith branch lengths.
Grafen, A. (1989) The phylogenetic regression. Philosophical Transactions of the Royal society of London. Series B. Biological Sciences, 326, 119--157.
data(bird.orders) plot(compute.brlen(bird.orders, 1)) plot(compute.brlen(bird.orders, runif, min = 0, max = 5)) layout(matrix(1:4, 2, 2)) plot(compute.brlen(bird.orders, power=1), main=expression(rho==1)) plot(compute.brlen(bird.orders, power=3), main=expression(rho==3)) plot(compute.brlen(bird.orders, power=0.5), main=expression(rho==0.5)) plot(compute.brlen(bird.orders, power=0.1), main=expression(rho==0.1)) layout(1)