match() returns a vector of the positions of (first) matches of splits in its first argument in its second. %in% is a more intuitive interface as a binary operator, which returns a logical vector indicating whether there is a match or not for each split in its left operand.

match(x, table, ...)

# S3 method for Splits
match(x, table, ...)

# S3 method for list
match(x, table, ...)

x %in% table

# S3 method for Splits
%in%(x, table)

in.Splits(x, table)


x, table

Object of class Splits.


Specify nomatch = to provide an integer value that will be used in place of NA in the case where no match is found.


match() returns an integer vector specifying the position in table that matches each element in x, or nomatch if no match is found. %in% returns a logical vector specifying which of the splits in x are present in table.


in.Splits() is an alias for %in%, included for backwards compatibility. It will be deprecated in a future release.

See also

Corresponding base functions are documented in match().

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


splits1 <- as.Splits(BalancedTree(7))
splits2 <- as.Splits(PectinateTree(7))

match(splits1, splits2)
#> [1]  1 NA  3 NA
splits1 %in% splits2