我想选择一个角色向量的所有元素,除了一个与特定角色匹配的元素
我可以使用%in%
轻松完成,但我不知道如何在dplyr
管道中执行此操作。
例:
我想要的是什么
names<-c("a","b","c","d","e")
names[!names %in% "c"]
[1] "a" "b" "d" "e"
我多么想要:
names<-c("a","b","c","d","e")
names %>% ...something...
答案 0 :(得分:8)
如果没有重复项,我们可以使用setdiff
library(magrittr)
names %>%
setdiff(., "c")
#[1] "a" "b" "d" "e"
或者使用magrittr操作来对矢量进行子集化。
names %>%
`%in%`("c") %>%
`!` %>%
extract(names, .)
#[1] "a" "b" "d" "e"