Learn R Programming

kutils (version 1.73)

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.

Examples

Run this code
x <- c("a", "b", "c", "d", "e", "f")
y <- c("e", "a")
removeMatches(x, y)
y <- c("q", "r", "s")
removeMatches(x, y)

Run the code above in your browser using DataLab