Вот несколько альтернатив. Обратите внимание, что %>%
, extract
, is_in
и not
от magrittr, fn$
от gsubfn и discard
от purrr. Все остальное от основания Р.
library(magrittr)
A <- letters[1:5]
# 1
A %>% extract(! . %in% c("a", "b"))
## [1] "c" "d" "e"
# 1a
A %>% extract(is_in(., c("a", "b") ) %>% not)
## [1] "c" "d" "e"
# 2
A %>% Filter(function(x) ! x %in% c("a", "b"), .)
## [1] "c" "d" "e"
## 2a
library(gsubfn)
A %>% fn$Filter(~ ! x %in% c("a", "b"), .)
## [1] "c" "d" "e"
# 3
A %>% setdiff(c("a", "b"))
## [1] "c" "d" "e"
# 4
A %>% grep("^(a|b)$", ., invert = TRUE, value = TRUE)
## [1] "c" "d" "e"
# 5
library(purrr)
A %>% discard(~ . %in% c("a", "b"))
## [1] "c" "d" "e"
Также см. Комментарии под вопросом для дополнительных альтернатив.