Vector-setops: Set operations on vector-like objects

Vector-setopsR 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, and BiocGenerics::setdiff in the BiocGenerics package for general information about these generic functions.

Examples

## See ?`Hits-setops` for some examples.

Bioconductor/S4Vectors documentation built on April 9, 2024, 6:11 a.m.