小编Kar*_*der的帖子

使用dplyr过滤包含列的部分字符串的行

假设我有一个像

term     cnt
apple     10
apples     5
a apple on 3
blue pears 3
pears      1
Run Code Online (Sandbox Code Playgroud)

如何过滤此列中的所有部分找到的字符串,例如得到结果

term     cnt
apple     10
pears      1
Run Code Online (Sandbox Code Playgroud)

无需指出我要过滤的字词(主语),而是通过自引用方式(即,它会针对整个列检查每个字词,并删除部分匹配的字词)。令牌的数量不受限制,字符串的一致性也不受限制(即“ apples”将与“ apple”匹配)。这将导致基于dplyr的广义反向版本

d[grep("^apple$|^pears$", d$term), ]
Run Code Online (Sandbox Code Playgroud)

另外,有趣的是,使用这种去部门化来求和,例如

term     cnt
apple     18
pears      4
Run Code Online (Sandbox Code Playgroud)

我无法使其与contains()或grep()一起使用。

谢谢

r filter dplyr summarize mutate

5
推荐指数
1
解决办法
4071
查看次数

标签 统计

dplyr ×1

filter ×1

mutate ×1

r ×1

summarize ×1