我有一个如下的数据集:
Col1 Col2 Col3
abckel NA 7
jdmelw njabc NA
8 jdken jdne
如何对数据集进行子集设置,以便仅保留包含字符串“ abc”的行?
最终预期输出:
Col1 Col2 Col3
abckel NA 7
jdmelw njabc NA
答案 0 :(得分:2)
使用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))), ]
答案 1 :(得分:1)
一种dplyr
解决方案:
library(dplyr)
df %>% filter_all(any_vars(grepl("abc", .)))
输出:
Col1 Col2 Col3
1: abckel <NA> 7
2: jdmelw njabc <NA>