%vin% {validate} | R Documentation |
A consistent set membership operator
Description
A set membership operator like %in%
that handles
NA
more consistently with R's other logical comparison operators.
Usage
x %vin% table
Arguments
x |
vector or |
table |
vector or |
Details
R's basic comparison operators (almost) always return NA
when one
of the operands is NA
. The %in%
operator is an exception.
Compare for example NA %in% NA
with NA == NA
: the first
results in TRUE
, while the latter results in NA
as expected.
The %vin%
operator acts consistent with operators such as ==
.
Specifically, NA
results in the following cases.
For each position where
x
isNA
, the result isNA
.When
table
contains anNA
, each non-matched value inx
results inNA
.
Examples
# we cannot be sure about the first element:
c(NA, "a") %vin% c("a","b")
# we cannot be sure about the 2nd and 3rd element (but note that they
# cannot both be TRUE):
c("a","b","c") %vin% c("a",NA)
# we can be sure about all elements:
c("a","b") %in% character(0)
[Package validate version 1.1.5 Index]