case-insensitive grep, returning unmatched values

unvigrep(..., ignore.case = TRUE, value = TRUE, invert = TRUE)

Arguments

..., ignore.case, value, invert

parameters sent to base::grep()

Value

vector of non-matching indices

Details

This function is a simple wrapper around base::grep() which runs in case-insensitive mode, and returns unmatched values. It is mainly used to save keystrokes, but is consistently named alongside vgrep and vigrep, and quite helpful for writing concise code. It is particularly useful for removing unwanted entries from a long vector, for example removing accession numbers from a long vector of gene symbols in order to review gene annotations.

See also

Other jam grep functions: grepls(), igrepHas(), igrepl(), igrep(), provigrep(), unigrep(), vgrep(), vigrep()

Examples

V <- paste0(LETTERS[1:5], LETTERS[4:8]);
unigrep("D", V);
#> [1] 2 3 5
igrep("D", V);
#> [1] 1 4