Vector-setops {S4Vectors} | R Documentation |
Perform set operations on Vector objects.
## S4 method for signature 'Vector,Vector' union(x, y) ## S4 method for signature 'Vector,Vector' intersect(x, y) ## S4 method for signature 'Vector,Vector' setdiff(x, y) ## S4 method for signature 'Vector,Vector' setequal(x, y)
x, y |
Vector-like objects. |
The union
, intersect
, and setdiff
methods for
Vector objects return a Vector object containing respectively
the union, intersection, and (asymmetric!) difference of the 2 sets of
vector elements in x
and y
.
The setequal
method for Vector objects checks for set
equality between x
and y
.
They're defined as follow:
setMethod("union", c("Vector", "Vector"), function(x, y) unique(c(x, y)) ) setMethod("intersect", c("Vector", "Vector"), function(x, y) unique(x[x %in% y]) ) setMethod("setdiff", c("Vector", "Vector"), function(x, y) unique(x[!(x %in% y)]) ) setMethod("setequal", c("Vector", "Vector"), function(x, y) all(x %in% y) && all(y %in% x) )
so they work out-of-the-box on Vector objects for which c
,
unique
, and %in%
are defined.
union
returns a Vector object obtained by appending to x
the elements in y
that are not already in x
.
intersect
returns a Vector object obtained by keeping only
the elements in x
that are also in y
.
setdiff
returns a Vector object obtained by dropping from
x
the elements that are in y
.
setequal
returns TRUE
if x
and y
contain the
same sets of vector elements and FALSE
otherwise.
union
, intersect
, and setdiff
propagate the names and
metadata columns of their first argument (x
).
Hervé Pagès
Vector-comparison for comparing and ordering vector-like objects.
Vector-merge for merging vector-like objects.
Vector objects.
BiocGenerics::union
,
BiocGenerics::intersect
,
and BiocGenerics::setdiff
in the BiocGenerics package for general information about
these generic functions.
## See ?`Hits-setops` for some examples.