gpt4 book ai didi

r - 如何使用 dplyr 按组有条件地更改列中的值?

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

我有这样的数据:

g1 g2 var 
1 a Yes
1 a No
1 a No
1 b Yes
1 b Yes
1 b Yes
2 a No
2 a No
2 a No

如果在每个 g1&g2 组中,var 中至少有一个 Yes,我想将 var 中的所有值更改为 Yes。我尝试使用 group_by 和 mutate、replace、ifelse 的组合,但没有成功。任何帮助表示赞赏。

最佳答案

你也可以这样做:

df %>%
group_by(g1, g2) %>%
mutate(var = ifelse(any(var == "Yes"), "Yes", "No"))

g1 g2 var
<int> <chr> <chr>
1 1 a Yes
2 1 a Yes
3 1 a Yes
4 1 b Yes
5 1 b Yes
6 1 b Yes
7 2 a No
8 2 a No
9 2 a No

这里,如果“var”中的任何值(每个“g1”和“g2”)等于 Yes ,它返回 Yes , 否则 No .

关于r - 如何使用 dplyr 按组有条件地更改列中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55800323/

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