setmatch {rje} | R Documentation |
Set Operations
Description
Series of functions extending existing vector operations to lists of vectors.
Usage
setmatch(x, y, nomatch = NA_integer_)
setsetequal(x, y)
setsetdiff(x, y)
subsetmatch(x, y, nomatch = NA_integer_)
supersetmatch(x, y, nomatch = NA_integer_)
Arguments
x |
list of vectors. |
y |
list of vectors. |
nomatch |
value to be returned in the case when no match is found. Note that it is coerced to integer. |
Details
setmatch
checks whether each vector in the list x
is also
contained in the list y
, and if so returns position of the first such
vector in y
. The ordering of the elements of the vector is
irrelevant, as they are considered to be sets.
subsetmatch
is similar to setmatch
, except vectors in x
are searched to see if they are subsets of vectors in y
. Similarly
supersetmatch
consideres if vectors in x
are supersets of
vectors in y
.
setsetdiff
is a setwise version of setdiff
, and
setsetequal
a setwise version of setequal
.
Value
setmatch
and subsetmatch
return a vector of integers
of length the same as the list x
.
setsetdiff
returns a sublist x
.
setsetequal
returns a logical of length 1.
Functions
-
setsetequal
: Test for equality of sets -
setsetdiff
: Setdiff for lists -
subsetmatch
: Test for subsets -
supersetmatch
: Test for supersets
Note
These functions are not recursive, in the sense that they cannot be used to test lists of lists. They also do not reduce to the vector case.
Author(s)
Robin Evans
See Also
Examples
x = list(1:2, 1:3)
y = list(1:4, 1:3)
setmatch(x, y)
subsetmatch(x, y)
setsetdiff(x, y)
x = list(1:3, 1:2)
y = list(2:1, c(2,1,3))
setsetequal(x, y)