tree utility function
Functions for describing relationships among phylogenetic nodes.
Ancestors(x, node, type = c("all", "parent")) allDescendants(x) Children(x, node) Descendants(x, node, type = c("tips", "children", "all")) Siblings(x, node, include.self = FALSE) mrca.phylo(x, node = NULL, full = FALSE)
x |
a tree (a phylo object). |
node |
an integer or a vector of integers corresponding to a node ID |
type |
specify whether to return just direct children / parents or all |
include.self |
whether to include self in list of siblings |
full |
a logical indicating whether to return the MRCAs among all tips and nodes (if TRUE); the default is to return only the MRCAs among tips. |
These functions are inspired by treewalk
in phylobase package, but
work on the S3 phylo
objects. The nodes are the indices as given in
edge matrix of an phylo object. From taxon labels these indices can be
easily derived matching against the tip.label
argument of an phylo
object, see example below. All the functions allow node
to be either
a scalar or vector. mrca
is a faster version of the mrca in ape, in
phangorn only because of dependencies.
If the argument node is missing the function is evaluated for all nodes.
a vector or a list containing the indices of the nodes.
allDescendants
: list all the descendant nodes of each node
treewalk
, as.phylo
,
nodelabels
tree <- rtree(10) plot(tree, show.tip.label = FALSE) nodelabels() tiplabels() Ancestors(tree, 1:3, "all") Children(tree, 11) Descendants(tree, 11, "tips") Siblings(tree, 3) # Siblings of all nodes Siblings(tree) mrca.phylo(tree, 1:3) mrca.phylo(tree, match(c("t1", "t2", "t3"), tree$tip)) mrca.phylo(tree) # same as mrca(tree), but faster for large trees
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.