`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)
```

- 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.

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.

Other tree generation functions:
`ConstrainedNJ()`

,
`NJTree()`

,
`TreeNumber`

,
`TrivialTree`

```
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]))
```