grepl: поиск в строке, которая не содержит шаблон - PullRequest
30 голосов
/ 17 января 2012

Похоже, что в то время как grep имеет аргумент инвертирования, grepl нет.

Я бы хотел установить подмножество для использования 2 фильтров

data$ID[grepl("xyx", data$ID) & data$age>60]

Как я могу установить подмножество для возраста> 60 и ID , не содержащего"xyx"?То, что я сделал, это

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

, который, очевидно, работает, но выглядит ужасно и не интуитивно.Есть ли более хорошее решение / аргумент?

Спасибо

1 Ответ

53 голосов
/ 17 января 2012

grepl возвращает логический вектор. Вы можете использовать оператор !, если хотите получить обратный результат.

data$ID[!grepl("xyx", data$ID) & data$age>60]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...