# compute.brlen

##### Branch Lengths Computation

This function computes branch lengths of a tree using different methods.

- Keywords
- manip

##### Usage

`compute.brlen(phy, method = "Grafen", power = 1, ...)`

##### Details

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`

).

##### Value

An object of class `phylo`

with branch lengths.

##### References

Grafen, A. (1989) The phylogenetic regression. *Philosophical
Transactions of the Royal society of London. Series B. Biological
Sciences*, **326**, 119--157.

##### See Also

`read.tree`

for a description of `phylo`

objects,
`di2multi`

, `multi2di`

##### Examples

```
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)
```

*Documentation reproduced from package ape, version 2.7-3, License: GPL (>= 2)*