【问题标题】:Finding strings in columns of dataframe in R [duplicate]在R中的数据框列中查找字符串[重复]
【发布时间】:2014-07-14 19:45:12
【问题描述】:

如果我有以下情况

list <- c("catdog","chicken","poop")
names <- c("Fabio","John","Jack")
df <- data.frame(names, list, stringsAsFactors=FALSE)

       names   list
1      Fabio catdog
2       John    cat
3       Jack    dog

假设列表是一列字符串。我想知道如何在“cat”AND“dog”出现一次后返回行,它们可能会出现更多次。我试过了:

want <- c("cat","dog")
df[grepl(paste(want,collapse="&"),df$list),]

我知道这适用于“|”由于某种原因,它不能与“&”一起使用。让我知道是否有人可以提供帮助。谢谢!

【问题讨论】:

    标签: r grepl


    【解决方案1】:

    这是一个选项,如果 'cat' 和 'dog' 都不能在单个字符串中重复。

    df[grepl('(cat)|(dog).*(\\1|\\2)', df$list), ]
    

    【讨论】:

      猜你喜欢
      • 2020-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-17
      • 2019-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多