简体   繁体   English

grepl() 使用两列过滤

[英]grepl() to filter using two columns

如果“Y”出现在第 1 列和/或第 2 列的一行中,我正在尝试使用 grepl() 在 R 中进行过滤。我尝试了这段代码,但它没有用。

filter(grepl("Y", column1|column2))

You can use if_any , along with a selector for the columns.您可以使用if_any以及列的选择器。 For example:例如:

library(dplyr)

df1 <- data.frame(column1 = c("Y", "N", "N"), 
                  column2 = c("N", "Y", "N"))

df1 %>% 
  filter(if_any(all_of(c("column1", "column2")), ~grepl("Y", .)))

or或者

df1 %>% 
  filter(if_any(starts_with("column"), ~grepl("Y", .)))

Result in both cases:两种情况的结果:

  column1 column2
1       Y       N
2       N       Y

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM