
Last chance! 50% off unlimited learning
Sale ends in
This function computes branch lengths of a tree using different methods.
compute.brlen(phy, method = "Grafen", power = 1, ...)
an object of class phylo
representing 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 method
if it is
a function.
An object of class phylo
with branch lengths.
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 method
, they
are recycled if necessary. If a function is given instead, further
arguments are given in place of ...
(they must be named, see
examples).
Zero-length branches are not treated as multichotomies, and thus may
need to be collapsed (see di2multi
).
Grafen, A. (1989) The phylogenetic regression. Philosophical Transactions of the Royal society of London. Series B. Biological Sciences, 326, 119--157.
read.tree
for a description of phylo
objects,
di2multi
, multi2di
# NOT RUN {
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)
# }
Run the code above in your browser using DataLab