sets {base} | R Documentation |

## Set Operations

### Description

Performs **set** union, intersection, (asymmetric!) difference,
equality and membership on two vectors.

### Usage

union(x, y)
intersect(x, y)
setdiff(x, y)
setequal(x, y)
is.element(el, set)

### Arguments

`x, y, el, set` |
vectors (of the same mode) containing a sequence
of items (conceptually) with no duplicated values. |

### Details

Each of `union`

, `intersect`

, `setdiff`

and
`setequal`

will discard any duplicated values in the arguments,
and they apply `as.vector`

to their arguments (and so
in particular coerce factors to character vectors).

`is.element(x, y)`

is identical to `x %in% y`

.

### Value

A vector of the same `mode`

as `x`

or `y`

for
`setdiff`

and `intersect`

, respectively, and
of a common mode for `union`

.

A logical scalar for `setequal`

and a logical of the same
length as `x`

for `is.element`

.

### See Also

`%in%`

### Examples

(x <- c(sort(sample(1:20, 9)),NA))
(y <- c(sort(sample(3:23, 7)),NA))
union(x, y)
intersect(x, y)
setdiff(x, y)
setdiff(y, x)
setequal(x, y)
## True for all possible x & y :
setequal( union(x,y),
c(setdiff(x,y), intersect(x,y), setdiff(y,x)))
is.element(x, y)# length 10
is.element(y, x)# length 8

[Package

*base* version 2.5.0

Index]