gpt4 book ai didi

R:根据多列中的值从数据框中删除行

转载 作者:行者123 更新时间:2023-12-01 09:17:37 24 4
gpt4 key购买 nike

我有以下数据框 (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。

提前致谢!!

最佳答案

试试这个:

subset(df,!df$ID %in% df$ID[is.na(df$Cost) | df$Cost == "$0"])

这给你:

  ID Cost
1 1 $100
2 1 $200
6 3 $10
7 4 $100

关于R:根据多列中的值从数据框中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30738096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com