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
For union
, a vector of a common mode.
For intersect
, a vector of a common mode, or NULL
if
x
or y
is NULL
.
For setdiff
, a vector of the same mode
as x
.
A logical scalar for setequal
and a logical of the same
length as x
for is.element
.
See Also
‘plotmath’ for the use of union
and
intersect
in plot annotation.
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 4.4.1 Index]