You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言使用dplyr按另一列条件筛选数据框的代码是否正确?

解答

你写的代码无法实现目标需求。

原有代码的问题

group_by(score2) %>% filter(score1 > 0)的逻辑是按score2分组后,在每个分组内单独筛选score1 > 0的行,也就是说score2为"girl"的分组也会执行同样的筛选规则,最终会返回所有分组中score1 > 0的记录。
在你给出的示例数据上运行这段代码,会返回tim(man组score1=5>0)和poe(girl组score1=10>0)两行结果,多返回了score2为girl的poe记录,不符合要求。

正确写法

不需要分组操作,直接在filter()中传入两个需要同时满足的判断条件即可:

library(dplyr)
df %>% filter(score2 == "man", score1 > 0)

运行上述代码,在示例数据中只会返回符合需求的结果:

Name score1 score2
1  tim      5    man

内容的提问来源于stack exchange,提问作者user18930359

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 20:43:10