R: Root or unroot a phylogenetic tree

RootTree {TreeTools} | R Documentation

## Root or unroot a phylogenetic tree

### Description

`RootTree()` roots a tree on the smallest clade containing the specified tips; `RootOnNode()` roots a tree on a specified internal node; `UnrootTree()` collapses a root node, without the undefined behaviour encountered when using `ape::unroot()` on trees in preorder.

### Usage

    RootTree(tree, outgroupTips)

    RootOnNode(tree, node, resolveRoot = FALSE)

    UnrootTree(tree)

### Arguments

`tree` | A tree of class `phylo`, or a list of trees of class `list` or `multiPhylo`.
`outgroupTips` | Vector of type character, integer or logical, specifying the names or indices of the tips to include in the outgroup.
`node` | integer specifying node (internal or tip) to set as the root.
`resolveRoot` | logical specifying whether to resolve the root node.

### Value

`RootTree()` returns a tree of class `phylo`, rooted on the smallest clade that contains the specified tips, with edges and nodes numbered in preorder.

`RootOnNode()` returns a tree of class `phylo`, rooted on the requested `node` and ordered in `Preorder`.

`UnrootTree()` returns `tree`, in preorder, having collapsed the first child of the root node in each tree.

### Author(s)

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

### See Also

- `ape::root()`

- `EnforceOutgroup()`

Other tree manipulation: `AddTip()`, `CollapseNode()`, `ConsensusWithout()`, `DropTip()`, `EnforceOutgroup()`, `LeafLabelInterchange()`, `MakeTreeBinary()`, `RenumberTips()`, `RenumberTree()`, `Renumber()`, `SingleTaxonTree()`, `SortTree()`, `Subtree()`

### Examples

    tree <- PectinateTree(8)
    plot(tree)
    ape::nodelabels()

    plot(RootTree(tree, c('t6', 't7')))

    plot(RootOnNode(tree, 12))
    plot(RootOnNode(tree, 2))

[Package TreeTools version 1.4.1 Index]