gpt4 book ai didi

R:如果该组中的一个值低于特定阈值,则为整个组创建一个标记为 0 或 1

转载 作者:行者123 更新时间:2023-12-02 17:02:34 25 4
gpt4 key购买 nike

我有这样一个数据集:

group  services
1 75
1 105
1 110
2 110
2 110
2 110

我想创建一个标志,如果任何组服务值低于 100,则标记为 0。如果它们都高于 100,则标记为 1。输出将是:

group    services      flag
1 75 0
1 105 0
1 110 0
2 110 1
2 110 1
2 110 1

数据集有数千个组,所以我不确定该怎么做。我尝试使用 dplyr作为

 dataset%>%
group_by_(group)%>%
mutate(flag:= services>=100)

我尝试搜索,但找不到关于如何让标志应用于包含大量组的大型数据集的整个组的答案。

最佳答案

您需要在测试中包含一个any 条件,以便在您组中的任何值低于 100 时返回 TRUE(或 1)。

library(dplyr)
data %>%
group_by(group) %>%
mutate(flag = as.numeric(!any(services<100)))

# A tibble: 6 x 3
# Groups: group [2]
group services flag
<int> <int> <dbl>
1 1 75 0
2 1 105 0
3 1 110 0
4 2 110 1
5 2 110 1
6 2 110 1

关于R:如果该组中的一个值低于特定阈值,则为整个组创建一个标记为 0 或 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53354225/

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