Learn R Programming

S4Vectors (version 0.10.2)

Vector-setops: Set operations on vector-like objects

Description

Perform set operations on Vector objects.

Usage

"union"(x, y)
"intersect"(x, y)
"setdiff"(x, y)
"setequal"(x, y)

Arguments

x, y
Vector-like objects.

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).

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.

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.

Examples

Run this code
## See ?`Hits-setops` for some examples.

Run the code above in your browser using DataLab