Learn R Programming

TreeTools (version 1.6.0)

Splits: Convert object to Splits

Description

as.Splits() converts a phylogenetic tree to a Splits object representing its constituent bipartition splits.

Usage

as.Splits(x, tipLabels = NULL, ...)

# S3 method for phylo as.Splits(x, tipLabels = NULL, asSplits = TRUE, ...)

# S3 method for multiPhylo as.Splits(x, tipLabels = x[[1]]$tip.label, asSplits = TRUE, ...)

# S3 method for Splits as.Splits(x, tipLabels = NULL, ...)

# S3 method for list as.Splits(x, tipLabels = NULL, asSplits = TRUE, ...)

# S3 method for matrix as.Splits(x, tipLabels = NULL, ...)

# S3 method for logical as.Splits(x, tipLabels = NULL, ...)

# S3 method for Splits as.logical(x, tipLabels = NULL, ...)

Arguments

x

Object to convert into splits: perhaps a tree of class phylo. If a logical matrix is provided, each row will be considered as a separate split.

tipLabels

Character vector specifying sequence in which to order tip labels. Label order must (currently) match to combine or compare separate Splits objects.

…

Presently unused.

asSplits

Logical specifying whether to return a Splits object, or an unannotated two-dimensional array (useful where performance is paramount).

Value

as.Splits() returns an object of class Splits, or (if asSplits = FALSE) a two-dimensional array of raw objects, with each bit specifying whether or not the leaf corresponding to the respective bit position is a member of the split. Splits are named according to the node at the non-root end of the edge that defines them. In rooted trees, the child of the rightmost root edge names the split.

See Also

Other Splits operations: LabelSplits(), NSplits(), NTip(), PolarizeSplits(), SplitFrequency(), SplitsInBinaryTree(), TipLabels(), TipsInSplits(), match()

Examples

Run this code
# NOT RUN {
splits <- as.Splits(BalancedTree(letters[1:6]))
summary(splits)
TipsInSplits(splits)
summary(!splits)
TipsInSplits(!splits)

length(splits + !splits)
length(unique(splits + !splits))

summary(c(splits[[2:3]], !splits[[1:2]]))

moreSplits <- as.Splits(PectinateTree(letters[6:1]), tipLabel = splits)
print(moreSplits, details = TRUE)
match(splits, moreSplits)
moreSplits %in% splits

# }

Run the code above in your browser using DataLab