RandomTree()
, PectinateTree()
, BalancedTree()
and StarTree()
generate trees with the specified shapes and leaf labels.
Usage
RandomTree(tips, root = FALSE, nodes)
YuleTree(tips, addInTurn = FALSE, root = TRUE)
PectinateTree(tips)
BalancedTree(tips)
StarTree(tips)
Arguments
- tips
An integer specifying the number of tips, or a character vector naming the tips, or any other object from which
TipLabels()
can extract leaf labels.- root
Character or integer specifying tip to use as root; or
TRUE
to root the tree on a random edge; orFALSE
to return an unrooted tree.- nodes
Number of nodes to generate. The default and maximum,
tips - 1
, generates a binary tree; setting a lower value will induce polytomies.- addInTurn
Logical specifying whether to add leaves in the order of
tips
. IfFALSE
, leaves will be added in a random order.
Value
Each function returns an unweighted binary tree of class phylo
with
the specified leaf labels. Trees are rooted unless root = FALSE
.
RandomTree()
returns a topology drawn at random from the uniform
distribution (i.e. each binary tree is drawn with equal probability).
Trees are generated by inserting
each tip in term at a randomly selected edge in the tree.
Random numbers are generated using a Mersenne Twister.
If root = FALSE
, the tree will be unrooted, with the first tip in a
basal position. Otherwise, the tree will be rooted on root
.
YuleTree()
returns a topology generated by the Yule process
(Steel and McKenzie 2001)
,
i.e. adding leaves in turn adjacent to a randomly-chosen existing leaf.
PectinateTree()
returns a pectinate (caterpillar) tree.
BalancedTree()
returns a balanced (symmetrical) tree, in preorder.
StarTree()
returns a completely unresolved (star) tree.
References
Steel MA, McKenzie A (2001). “Properties of Phylogenetic Trees Generated by Yule-type Speciation Models.” Mathematical Biosciences, 170(1), 91–112. doi:10.1016/S0025-5564(00)00061-4 . ()
See also
Other tree generation functions:
ConstrainedNJ()
,
NJTree()
,
TreeNumber
,
TrivialTree
Examples
RandomTree(LETTERS[1:10])
#>
#> Phylogenetic tree with 10 tips and 8 internal nodes.
#>
#> Tip labels:
#> A, B, C, D, E, F, ...
#>
#> Unrooted; no branch lengths.
data("Lobo")
RandomTree(Lobo.phy)
#>
#> Phylogenetic tree with 48 tips and 46 internal nodes.
#>
#> Tip labels:
#> Tubiluchus_Priapulida, Cricocosmia, Aysheaia, Siberion, Onychodictyon_ferox, Onychodictyon_gracilis, ...
#>
#> Unrooted; no branch lengths.
YuleTree(LETTERS[1:10])
#>
#> Phylogenetic tree with 10 tips and 9 internal nodes.
#>
#> Tip labels:
#> I, G, F, A, D, J, ...
#>
#> Rooted; no branch lengths.
plot(PectinateTree(LETTERS[1:10]))
plot(BalancedTree(LETTERS[1:10]))
plot(StarTree(LETTERS[1:10]))