rtree {ape} | R Documentation |
Generate Random Trees
Description
These functions generate trees by splitting randomly the edges
(rtree
and rtopology
) or randomly clustering the tips
(rcoal
). rtree
and rtopology
generate general
trees, and rcoal
generates coalescent trees. The algorithms are
described in Paradis (2012) and in a vignette in this package.
Usage
rtree(n, rooted = TRUE, tip.label = NULL, br = runif, equiprob = FALSE, ...)
rtopology(n, rooted = FALSE, tip.label = NULL, br = runif, ...)
rcoal(n, tip.label = NULL, br = "coalescent", ...)
rmtree(N, n, rooted = TRUE, tip.label = NULL, br = runif,
equiprob = FALSE, ...)
rmtopology(N, n, rooted = FALSE, 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 ( |
equiprob |
(new since ape 5.4-1) a logical specifying
whether topologies are generated in equal frequencies. If,
|
... |
further argument(s) to be passed to |
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 option equiprob = TRUE
generates unlabelled
topologies in equal frequencies. This is more complicated for the
labelled topologies (see the vignette “RandomTopologies”).
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
or rmtopology
.
Author(s)
Emmanuel Paradis
References
Paradis, E. (2012) Analysis of Phylogenetics and Evolution with R (Second Edition). New York: Springer.
See Also
stree
, rlineage
, vignette
“RandomTopologies”.
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))