【发布时间】:2016-12-08 01:25:27
【问题描述】:
我正在寻找一个函数,它接受一个数据框列,检查它是否包含来自字符串向量的文本,并在匹配时对其进行过滤(包括部分文本匹配)。
例如,取如下数据框:
animal |count
aardvark |8
cat |2
catfish |6
dog |12
dolphin |3
penguin |38
prairie dog|59
zebra |17
和下面的向量
c("cat", "dog")
我想遍历“动物”列,检查值是否完全或部分与向量中的字符串之一匹配,并过滤掉不匹配的字符串。生成的数据框将是:
animal |count
cat |2
catfish |6
dog |12
prairie dog|59
谢谢!
肖恩
【问题讨论】:
-
使用
grepl: 因为df[grepl("(cat|dog)", df$animal),]应该可以工作。