Quickly identify edges that are 'descended' from edges in a tree.

DescendantEdges(edge = NULL, parent, child, nEdge = length(parent))

AllDescendantEdges(parent, child, nEdge = length(parent))

## Arguments

edge

Integer specifying the number of the edge whose child edges are required (see edgelabels()).

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

nEdge

number of edges (calculated from length(parent) if not supplied).

## Value

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

AllDescendantEdges() returns a matrix of class logical, with row N specifying whether each edge is a descendant of edge N

(or the edge itself).

## Details

The order of parameters in DescendantEdges() will change in the future, to allow AllDescendantEdges() to be merged into this function (#31). Please explicitly name the edge parameter in DescendantEdges(), and replace AllDesdendantEdges() with DescendantEdges(edge = NULL), to future-proof your code.

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