如何删除 R 中匹配多个模式的多行?

how to remove multiple rows that match more than 1 pattern in R?

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

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

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

Warning message: In grepl(c("Chloroflexota", "Desulfobacterota_D", "Gemmatimonadota", : the argument 'pattern' has a length > 1 and only he first element will be used

如何删除其他的?

感谢您的宝贵时间:)

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

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