【发布时间】:2015-06-09 16:44:00
【问题描述】:
我有以下数据框 (df) - 还有更多列,但这些是相关列:
ID Cost
1 $100
1 $200
2 $50
2 $0
2 $40
3 $10
4 $100
5 $0
5 $50
我想对这个数据框进行子集化,这样如果特定 ID 的任何成本 = $0,那么它应该删除所有这些行(即该特定 ID 的所有行。)
因此,在此示例中,ID 2 和 5 包含 $0,因此应删除 ID 2 和 ID 5 的所有行。
这是我想要的结果df:
ID Cost
1 $100
1 $200
3 $10
4 $100
有人可以帮忙吗?我尝试了subset 函数的一些组合,但没有奏效。
** 类似的说明:我有另一个带有“NA”的数据框 - 你能帮我找出同样的问题,以防它是 NA,而不是 0。
提前致谢!!
【问题讨论】:
-
一个 data.table 选项是。
library(data.table); setDT(df)[, if(!any(Cost=='$0')) .SD, ID]
标签: r