collapse.singles: Collapse Single Nodes

View source: R/collapse.singles.R

collapse.singlesR Documentation

Collapse Single Nodes

Description

collapse.singles deletes the single nodes (i.e., with a single descendant) in a tree.

has.singles tests for the presence of single node(s) in a tree.

Usage

collapse.singles(tree, root.edge = FALSE)
has.singles(tree)

Arguments

tree

an object of class "phylo".

root.edge

whether to get the singleton edges from the root until the first bifurcating node and put them as root.edge of the returned tree. By default, this is ignored or if the tree has no edge lengths (see examples).

Value

an object of class "phylo".

Author(s)

Emmanuel Paradis, Klaus Schliep

See Also

plot.phylo, read.tree

Examples

## a tree with 3 tips and 3 nodes:
e <- c(4L, 6L, 6L, 5L, 5L, 6L, 1L, 5L, 3L, 2L)
dim(e) <- c(5, 2)
tr <- structure(list(edge = e, tip.label = LETTERS[1:3], Nnode = 3L),
                class = "phylo")
tr
has.singles(tr)
## the following shows that node #4 (ie, the root) is a singleton
## and node #6 is the first bifurcating node
tr$edge
## A bifurcating tree has less nodes than it has tips:
## the following used to fail with ape 4.1 or lower:
plot(tr)
collapse.singles(tr) # only 2 nodes
## give branch lengths to use the 'root.edge' option:
tr$edge.length <- runif(5)
str(collapse.singles(tr, TRUE)) # has a 'root.edge'

ape documentation built on March 31, 2023, 6:56 p.m.