gpt4 book ai didi

r - 根据 R 中现有列中的组创建一个新列

转载 作者:搜寻专家 更新时间:2023-10-30 20:07:56 25 4
gpt4 key购买 nike

我正在清理 R 中的一些数据并有一个像这样的数据集:

x1, x2, x3
1, 24, 41
1, 22, 40
1, 21, 38
2, 20, 40
2, 21, 40
3, 22, 41
3, 24, 40
4, 20, 41

我想添加一个新列,每行的值都基于 x1 和 x2 列。在 x1 的每个组中,我想知道 x2 中的值是否大于或等于,比如 24。如果为真,则该组的新列中的所有值都设置为 1。

所以数据应该是这样的:

x1, x2, x3, x4
1, 24, 41, 1
1, 22, 40, 1
1, 21, 38, 1
2, 20, 40, 0
2, 21, 40, 0
3, 22, 41, 1
3, 24, 40, 1
4, 20, 41, 0

这样做的目的是聚合行。我想根据 x1 中的组聚合数据,但仍需要其他列的信息。

最佳答案

这是 base R 的一个选项

df1$x4 <- table(df1$x1, df1$x2 >=24)[,2][df1$x1]

或者用dplyr

library(dplyr)
df1 %>%
group_by(x1) %>%
mutate(x4 = as.integer(any(x2 >=24)))

关于r - 根据 R 中现有列中的组创建一个新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47396518/

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