【问题标题】:how to remove multiple rows that match more than 1 pattern in R?如何删除与 R 中超过 1 个模式匹配的多行?
【发布时间】:2021-12-14 17:30:21
【问题描述】:

您好,我正在尝试使用 grepl 删除匹配超过 1 个模式的行,这是我尝试过的:

custom_BGCs[!grepl(c("Chloroflexota","Desulfobacterota_D",
                     "Gemmatimonadota"),custom_BGCs$Phylum),]

在这种方式下,仅删除“Chloroflexota”行,并带有警告消息,即仅删除具有第一个指定模式的行。

警告信息:在 grepl(c("Chloroflexota", "Desulfobacterota_D", "Gemmatimonadota", : 参数 'pattern' 有一个长度 > 1 并且只使用第一个元素

如何删除其他的?

感谢您的宝贵时间 :)

【问题讨论】:

    标签: r grepl


    【解决方案1】:

    grep/grepl 未针对模式进行矢量化。使用| 将它们组合成一个字符串

    custom_BGCs[!grepl(paste(c("Chloroflexota","Desulfobacterota_D",
                         "Gemmatimonadota"), collapse = "|"),custom_BGCs$Phylum),]
    

    【讨论】:

      猜你喜欢
      • 2018-07-11
      • 1970-01-01
      • 1970-01-01
      • 2014-09-13
      • 1970-01-01
      • 1970-01-01
      • 2015-09-10
      • 2019-09-30
      • 1970-01-01
      相关资源
      最近更新 更多