Learn R Programming

phylobase (version 0.6.8)

reorder-methods: reordering trees within phylobase objects

Description

Methods for reordering trees into various traversal orders

Usage

## S3 method for class 'phylo':
reorder(x, order = "cladewise")
## S3 method for class 'phylo4':
reorder(x, order = c("preorder", "postorder"))

Arguments

x
a phylo4 or phylo4d object
order
The desired traversal order; currently only 'preorder' and 'postorder' are allowed for phylo4 and phylo4d objects, whereas only 'cladewise' and 'pruningwise' are allowed for phylo objects

Value

  • A phylo4 or phylo4d object with the edge, label, length and data slots ordered as order, which is itself recorded in the order slot.

Details

The reorder method takes a phylo4 or phylo4d tree and orders the edge matrix (i.e. edges(x)) in the requested traversal order. Currently only two orderings are permitted, and both require rooted trees. In "postorder", a node's descendants come before that node, thus the root, which is ancestral to all nodes, comes last. In "preorder", a node is visited before its descendants, thus the root comes first.

A method is also defined that takes an ape phylo object. This also takes an order argument, however, 'pruningwise' and 'cladewise' are the only acceptable parameters. This is because this method actually uses the ape reorder() command to complete the ordering.

See Also

reorder.phylo in the ape package. ancestors ancestor siblings children descendants

Examples

Run this code
phy <- phylo4(ape::rtree(5))
edges(reorder(phy, "preorder"))
edges(reorder(phy, "postorder"))

Run the code above in your browser using DataLab