| Vector-setops {S4Vectors} | R Documentation |
Set operations on vector-like objects
Description
Perform set operations on Vector objects.
Usage
## 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)
Arguments
x, y |
Vector-like objects. |
Details
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.
Value
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).
Author(s)
Hervé Pagès
See Also
-
Vector-comparison for comparing and ordering vector-like objects.
-
Vector-merge for merging vector-like objects.
-
Vector objects.
-
BiocGenerics::union,BiocGenerics::intersect, andBiocGenerics::setdiffin the BiocGenerics package for general information about these generic functions.
Examples
## See ?`Hits-setops` for some examples.