按 Dataframe 字内任意位置包含特定字符串的行对 Dataframe 进行子集化[重复]

lvmkulzt  于 2022-12-25  发布在  其他
关注(0)|答案(1)|浏览(120)
    • 此问题在此处已有答案**:

Subset rows that contain string in any column(2个答案)
3天前关闭。
我怎样用一个可以在列中任何地方找到的字符串来子集化一个 Dataframe 呢?例如"ol"只存在于第三行,所以我们只得到那一行作为结果。

col1<-c("sd fgg","df dfg","fgh gdfg")
col2<-c("sd fgg","df dgfg","fgh gdfg")
col3<-c("sd fggg","dfg dfgg","fgghol gdfg")
df<-data.frame(col1,col2,col3)
ghhkc1vu

ghhkc1vu1#

使用R碱基

> df[unlist(sapply(df, function (x) grep("ol", x))),  ]
      col1     col2        col3
3 fgh gdfg fgh gdfg fgghol gdfg

dplyr方法

df %>% 
  slice(.,
  rowwise(.) %>% 
  grep("ol", .) )
      col1     col2        col3
1 fgh gdfg fgh gdfg fgghol gdfg

相关问题