Подтвердить что ты не робот

Grepl: поиск в строке, которая не содержит шаблона

Похоже, что если grep имеет инвертированный аргумент, grepl не работает.

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

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

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

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

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

Спасибо

4b9b3361

Ответ 1

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

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