ncvars = c("prate", "arate", "wpd", "Atm1", "Atm2", "area", "fC", "bas__1", "bas__asssaa", "bas__Clow", "bas__g2333e", "baser__arge", "bas__Aow", "bas__Aass") 现在,我要删除以下所有元素
areabas__我该怎么做?
试用版
patterns <- c("bas__", "area")
ncvars %>%
filter(.,grepl(paste(patterns, collapse="|")))发布于 2017-10-18 18:11:01
您只需用grepl否定!,也可以精确匹配,需要^..$锚点来匹配字符串的开始(^)和结束($):
ncvars[!grepl('^area$|bas__', ncvars)]ncvars
# [1] "prate" "arate" "wpd" "Atm1" "Atm2" "area" "fC" "bas__1"
# [9] "bas__asssaa" "bas__Clow" "bas__g2333e" "baser__arge" "bas__Aow" "bas__Aass"
ncvars[!grepl('^area$|bas__', ncvars)]
# [1] "prate" "arate" "wpd" "Atm1" "Atm2" "fC" "baser__arge"发布于 2017-10-18 18:34:48
tidyverse解决方案:
library(stringr)
stringr::str_subset(ncvars, pattern = "^area$|^bas__", negate = TRUE)
[1] "prate" "arate" "wpd" "Atm1" "Atm2" "fC" "baser__arge"https://stackoverflow.com/questions/46816521
复制相似问题