使用dplyr按条件过滤时如何保留指定名称的行不受规则限制
R dplyr 多条件筛选实现方案
你可以直接在filter()中用**逻辑或运算符|**拼接两个筛选规则,只要满足任意一个规则的行就会被保留:
- 规则1:
count > 8 - 规则2:
name属于指定保留名单c("d", "e")
注意:你原有示例代码里写的
filter(value > 8)是列名写错了,你的数值列实际为count,对应调整列名即可。
完整代码示例
# 加载dplyr包 library(dplyr) # 示例数据构造 df <- data.frame( name = c("a", "b", "cc", "d", "e", "f"), count = c(9, 10, 5, 6, 2, 14) ) # 执行筛选 result <- df %>% filter(count > 8 | name %in% c("d", "e"))
筛选结果验证
运行上述代码后得到的result输出如下:
name count 1 a 9 2 b 10 3 d 6 4 e 2 5 f 14
符合需求:count大于8的a、b、f全部保留,count小于8的d、e也被保留,不符合两个规则的cc被过滤。
内容的提问来源于stack exchange,提问作者user15851936
相关产品推荐
相关产品推荐

