match {base}R Documentation

Value Matching

Description

match: If x[i] is found to equal table[j] then the value returned in the i-th position of the return value is j. If no match is found, the value is nomatch.

%in%: A utility function, currently defined as
"%in%" <- function(x, table) match(x, table, nomatch = 0) > 0 allowing an intuitive usage and returning a logical vector of length length(x).

Usage

match(x, table, nomatch=NA)
x %in% table

Arguments

x the values to be matched.
table the values to be matched against.
nomatch the value to be returned in the case when no match is found.

See Also

pmatch and charmatch for (partial) string matching, match.arg, etc for function argument matching.

Examples

## The intersection of two sets :
intersect <- function(x, y) y[match(x, y, nomatch = 0)]
intersect(1:10,7:20)

1:10 %in% c(1,3,5,9)
sstr <- c("c","ab","B","bba","c","@","bla","a","Ba","%")
sstr[sstr %in% c(letters,LETTERS)]

"%w/o%" <- function(x,y) x[!x %in% y] #--  x without y
(1:10) %w/o% c(3,7,12)

[Package Contents]