Generate Random Trees
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.
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, ...)
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. |
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.
An object of class "phylo"
or of class "multiPhylo"
in
the case of rmtree
or rmtopology
.
Emmanuel Paradis
Paradis, E. (2012) Analysis of Phylogenetics and Evolution with R (Second Edition). New York: Springer.
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))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.