## S3 method for class 'Vector,Vector':
union(x, y)## S3 method for class 'Vector,Vector':
intersect(x, y)
## S3 method for class 'Vector,Vector':
setdiff(x, y)
## S3 method for class 'Vector,Vector':
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
,
andBiocGenerics::setdiff
in the## See ?`Hits-setops` for some examples.
Run the code above in your browser using DataCamp Workspace