TreeTools (version 1.10.0)

EdgeAncestry: Ancestors of an edge

Description

Quickly identify edges that are "ancestral" to a particular edge in a tree.

Usage

EdgeAncestry(edge, parent, child, stopAt = (parent == min(parent)))

Value

EdgeAncestry() returns a logical vector stating whether each edge in turn is a descendant of the specified edge.

Arguments

edge

Integer specifying the number of the edge whose child edges should be returned.

parent

Integer vector corresponding to the first column of the edge matrix of a tree of class phylo, i.e. tree[["edge"]][, 1]

child

Integer vector corresponding to the second column of the edge matrix of a tree of class phylo, i.e. tree[["edge"]][, 2].

stopAt

Integer or logical vector specifying the edge(s) at which to terminate the search; defaults to the edges with the smallest parent, which will be the root edges if nodes are numbered Cladewise or in Preorder.

See Also

Other tree navigation: AncestorEdge(), CladeSizes(), DescendantEdges(), EdgeDistances(), ListAncestors(), MRCA(), NDescendants(), NodeDepth(), NodeOrder(), RootNode()

Examples

Run this code
tree <- PectinateTree(6)
plot(tree)
ape::edgelabels()
parent <- tree$edge[, 1]
child <- tree$edge[, 2]
EdgeAncestry(7, parent, child)
which(EdgeAncestry(7, parent, child, stopAt = 4))

Run the code above in your browser using DataLab