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]