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

R语言按多列组合条件过滤删除数据行的最简实现方法

你自行编写的过滤代码没有达到预期,是因为逻辑条件写错了:EXP_MAN != 2 & Ethnicity_Rescuer !=1 会保留同时满足EXP_MAN不为2、且Ethnicity_Rescuer不为1的行,相当于把所有EXP_MAN=2的行、所有Ethnicity_Rescuer=1的行都删除了,和你「仅删除同时满足两个条件的行」的需求不符。

最简实现方案

不需要额外生成标记列,直接对要排除的组合条件整体取反即可,一行代码就能完成需求:

mydata <- mydata %>% filter(!(EXP_MAN == 2 & Ethnicity_Rescuer == 1))

如果不想用括号,也可以根据德摩根定律改写为完全等价的逻辑,效果和上面的代码、以及你最初的多步代码完全一致:

mydata <- mydata %>% filter(EXP_MAN != 2 | Ethnicity_Rescuer != 1)

内容的提问来源于stack exchange,提问作者anne.olsen.1994

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 06:06:03