rtree {ape} | R Documentation

## Generates Random Trees

### Description

These functions generate trees by splitting randomly the edges (`rtree`) or randomly clustering the tips (`rcoal`). `rtree` generates general trees, and `rcoal` generates coalescent trees. The algorithms are described in Paradis (2012).

### Usage

    rtree(n, rooted = TRUE, tip.label = NULL, br = runif, ...)
    rcoal(n, tip.label = NULL, br = "coalescent", ...)
    rmtree(N, n, rooted = TRUE, tip.label = NULL, br = runif, ...)

### Arguments

`n` | an integer giving the number of tips in the tree.
`rooted` | a logical indicating whether the tree should be rooted (the default).
`tip.label` | a character vector giving the tip labels; if not specified, the tips "t1", "t2", ..., are given.
`br` | one of the following: (i) an R function used to generate the branch lengths (`rtree`; use `NULL` to simulate only a topology), or the coalescence times (`rcoal`); (ii) a character to simulate a genuine coalescent tree for `rcoal` (the default); or (iii) a numeric vector for the branch lengths or the coalescence times.
`...` | further argument(s) to be passed to `br`.
`N` | an integer giving the number of trees to generate.

### Details

The trees generated are bifurcating. If `rooted = FALSE` in (`rtree`), the tree is trifurcating at its root.

The default function to generate branch lengths in `rtree` is `runif`. If further arguments are passed to `br`, they need to be tagged (e.g., `min = 0, max = 10`).

`rmtree` calls successively `rtree` and set the class of the returned object appropriately.

### Value

An object of class `"phylo"` or of class `"multiPhylo"` in the case of `rmtree`.

### Author(s)

Emmanuel Paradis

### References

Paradis, E. (2012) Analysis of Phylogenetics and Evolution with R (Second Edition). New York: Springer.

### See Also

`stree`, `rlineage`

### Examples

    layout(matrix(1:9, 3, 3))
    ### Nine random trees:
    for (i in 1:9) plot(rtree(20))
    ### Nine random cladograms:
    for (i in 1:9) plot(rtree(20, FALSE), type = "c")
    ### generate 4 random trees of bird orders:
    data(bird.orders)
    layout(matrix(1:4, 2, 2))
    for (i in 1:4)
      plot(rcoal(23, tip.label = bird.orders$tip.label), no.margin = TRUE)
    layout(1)
    par(mar = c(5, 4, 4, 2))

[Package ape version 5.1 Index]