RandomTree(), PectinateTree(), BalancedTree() and StarTree() generate trees with the specified shapes and leaf labels.

RandomTree(tips, root = FALSE, nodes)

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, if desired; or FALSE for 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.

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.

PectinateTree() returns a pectinate (caterpillar) tree.

BalancedTree() returns a balanced (symmetrical) tree, in preorder.

StarTree() returns a completely unresolved (star) tree.

See also

Other tree generation functions: ConstrainedNJ(), NJTree(), SingleTaxonTree(), TreeNumber

Author

Martin R. Smith (martin.smith@durham.ac.uk)

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.

plot(PectinateTree(LETTERS[1:10]))


plot(BalancedTree(LETTERS[1:10]))

plot(StarTree(LETTERS[1:10]))