R: Convert object to 'Splits'

as.Splits {TreeTools} | R Documentation

## 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 class 'phylo'
    as.Splits(x, tipLabels = NULL, asSplits = TRUE, ...)

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

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

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

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

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

    ## S3 method for class '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.

### Author(s)

Martin R. Smith (martin.smith@durham.ac.uk)

### See Also

Other Splits operations: `NSplits()`, `NTip()`, `SplitsInBinaryTree()`, `TipLabels()`, `TipsInSplits()`, `match()`

### Examples

    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

[Package TreeTools version 1.4.1 Index]