Подмножество строк, содержащих строку в любом столбце - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть набор данных, как показано ниже:

  Col1      Col2     Col3
abckel        NA        7
jdmelw     njabc       NA
     8     jdken     jdne

Как мне установить поднабор моего набора данных так, чтобы он содержал только строки, содержащие строку «abc»?

Окончательный ожидаемый результат:

  Col1      Col2     Col3
abckel        NA        7
jdmelw     njabc       NA

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

С вашим data.frame:

d <- data.frame("Col1" = c("abckel", "jdmelw", 8),
                "Col2" = c(NA, "njabc", NA),
                "Col3" = c(7, NA, "jdne"),
                stringsAsFactors = F)

Следующее должно вернуть желаемый результат:

d_new <- d[apply(d, 1, function(x) any(grepl("abc", x))), ]
0 голосов
/ 07 февраля 2019

A dplyr решение:

library(dplyr)

df %>% filter_all(any_vars(grepl("abc", .)))

Выход:

     Col1  Col2 Col3
1: abckel  <NA>    7
2: jdmelw njabc <NA>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...