# 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, ...)`

##### Arguments

- phy
an object of class

`phylo`

representing the tree.- method
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.- power
The power at which heights must be raised (see below).

- …
further argument(s) to be passed to

`method`

if it is a function.

##### 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

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

*Documentation reproduced from package ape, version 5.4, License: GPL-2 | GPL-3*