gpt4 book ai didi

r - 选择所有值为正的组

转载 作者:行者123 更新时间:2023-12-05 09:21:40 26 4
gpt4 key购买 nike

我有一个名为日期的数据框,其中包含 4 列(数字、A、B 和差异)。 Number 是一个分组变量。 A 和 B 都是日期列。 'Diff' 是包含 A 和 B 之间的天数的列。

在每个“数字”中,如果“差异”包含任何负数,我想删除整个组。或者换句话说:如果所有值都是正数,则只保留组。

Number            A                B                Diff
1 2015-06-08 2015-06-06 -2
1 2015-06-08 2015-06-06 -2
2 2015-06-01 2015-05-25 -7
2 2015-06-01 2015-06-06 5
3 2015-06-04 2015-06-07 3
3 2015-06-04 2015-06-06 2

我想要的结果是“数字”为 3 的组,其中所有值为正。组号 1 和组号 2 都被删除,因为这两个组都至少包含一个负值。

最佳答案

尝试

library(data.table)
setDT(df1)[, if(!any(Diff < 0)) .SD, by = Number]
# Number A B Diff
#1: 3 2015-06-04 2015-06-07 3
#2: 3 2015-06-04 2015-06-06 2

或者使用dplyr

library(dplyr)
df1 %>%
group_by(Number) %>%
filter(all(Diff>=0))

关于r - 选择所有值为正的组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30712287/

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