
Last chance! 50% off unlimited learning
Sale ends in
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.
collapse.singles(tree, root.edge = FALSE)
has.singles(tree)
an object of class "phylo"
.
an object of class "phylo"
.
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).
Emmanuel Paradis, Klaus Schliep
plot.phylo
, read.tree
## 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'
Run the code above in your browser using DataLab