sets                  package:base                  R Documentation

Set Operations

Description:

     Performs set union, intersection, (asymmetric!) difference,
     equality and membership on two vectors.

Usage:

     union(x, y)
     intersect(x, y)
     setdiff(x, y)
     setequal(x, y)
     is.element(el, set)

Arguments:

x, y, el, set: vectors (of the same mode) containing a sequence of
          items (conceptually) with no duplicated values.

Details:

     Each of `union', `intersect' and `setdiff' will remove any
     duplicated values in the arguments.

     `is.element(x, y)' is identical to `x %in% y'.

Value:

     A vector of the same `mode' as `x' or `y' for `setdiff' and
     `intersect', respectively, and of a common mode for `union'.

     A logical scalar for `setequal' and a logical of the same length
     as `x' for `is.element'.

Author(s):

     B. D. Ripley

See Also:

     `%in%'

Examples:

     (x <- c(sort(sample(1:20, 9)),NA))
     (y <- c(sort(sample(3:23, 7)),NA))
     union(x, y)
     intersect(x, y)
     setdiff(x, y)
     setdiff(y, x)
     setequal(x, y)

     ## True for all possible x & y :
     setequal( union(x,y),
               c(setdiff(x,y), intersect(x,y), setdiff(y,x)))

     is.element(x, y)# length 10
     is.element(y, x)# length  8

