removeMatches: Remove elements if they are in a target vector, possibly replacing with NA
Description
If a vector has c("A", "b", "c") and we want to remove "b" and
"c", this function can do the work. It can also replace "b" and
"c" with the NA symbol.
Usage
removeMatches(x, y, padNA = FALSE)
Value
a vector with elements in y removed
Arguments
x
vector from which elements are to be removed
y
shorter vector of elements to be removed
padNA
Default FALSE, Should removed items be replaced with NA values?
Author
Ben Kite <bakite@ku.edu> and Paul Johnson <pauljohn@ku.edu>
Details
If elements in y are not members of x, they are silently ignored.
The code for this is not complicated, but it is
difficult to remember. Here's the recipe to remove
elements y from x: x <- x[!x %in% y[y %in% x]]. It is
easy to get that wrong when in a hurry, so we use this function
instead. The padNA was an afterthought, but it helps sometimes.