"union"(x, y)
"intersect"(x, y)
"setdiff"(x, y)
"setequal"(x, y)
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
).
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.
BiocGenerics::union
,
BiocGenerics::intersect
,
and BiocGenerics::setdiff
in the BiocGenerics package for general information about
these generic functions.
## See ?`Hits-setops` for some examples.
Run the code above in your browser using DataLab