поиск grep в R - PullRequest
       8

поиск grep в R

0 голосов
/ 10 апреля 2020

У меня есть прикрепленное изображение таблицы, и я хочу отфильтровать столбец «заголовок» на основе следующих критериев поиска. Заголовок заголовка содержит текст.

word=c('COVID','coronavirus disease 19','SARS-CoV-2','2019-nCoV','nCoV','coronavirus','wuhan pneumonia','Wuhan')

для для поиска слова, которое я знаю, я могу использовать

merged[grep("COVID",merged$Title),"Title"] или

sapply(words, grepl, merged$Title) returns TRUE and FALSE. How to select the rows for which sapply is true.

введите описание изображения здесь

1 Ответ

1 голос
/ 10 апреля 2020

Мы можем использовать lapply и Reduce для одного логического vector с | для подстановки строк «слияния», т.е. мы выбираем строки «слияния», когда любой из слова 'присутствуют в столбце' Заголовок '

merged[Reduce(`|`, lapply(words, grepl, merged$Title)),]

Другой вариант - paste передать его в одну строку с | в качестве разделителя, который будет действовать как OR

pat <- paste0("\\b(", paste(words, collapse="|"), ")\\b")
merged[grepl(pat, merged$Title),]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...