grepl:在不包含模式的字符串中搜索

ECI*_*CII 30 r

似乎虽然grep有一个反转参数,grepl但没有.

我想使用2个过滤器进行子集化

data$ID[grepl("xyx", data$ID) & data$age>60]
Run Code Online (Sandbox Code Playgroud)

如何为年龄> 60而ID和不包含 "xyx"的ID进行子集化?我做的是

data$ID[abs(grepl("xyx", data.frame$ID)-1) & data$age>60]
Run Code Online (Sandbox Code Playgroud)

这看起来很有效,但看起来很糟糕且不直观.有更好的解决方案/参数吗?

谢谢

Jos*_*ich 55

grepl返回逻辑向量.!如果您想要相反的结果,可以使用运算符.

data$ID[!grepl("xyx", data$ID) & data$age>60]
Run Code Online (Sandbox Code Playgroud)