Set operations on vector-like objects

Perform set operations on Vector objects.

"union"(x, y)
"intersect"(x, y)
"setdiff"(x, y)
"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).

See Also

  • Vector-comparison for comparing and ordering vector-like objects.

  • Vector objects.

  • BiocGenerics::union, BiocGenerics::intersect, and BiocGenerics::setdiff in the BiocGenerics package for general information about these generic functions.

  • Vector-setops
  • union,Vector,Vector-method
  • intersect,Vector,Vector-method
  • setdiff,Vector,Vector-method
  • setequal,Vector,Vector-method
## See ?`Hits-setops` for some examples.
Documentation reproduced from package S4Vectors, version 0.10.2, License: Artistic-2.0

Community examples

Looks like there are no examples yet.