removeMatches: Remove elements if they are in a target vector, possibly...

View source: R/utils.R

removeMatchesR Documentation

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)

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?

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.

Value

a vector with elements in y removed

Author(s)

Ben Kite <bakite@ku.edu> and Paul Johnson <pauljohn@ku.edu>

Examples

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

kutils documentation built on Sept. 17, 2023, 5:06 p.m.