gpt4 book ai didi

r - 在 R 中按冬季而不是年份对月份进行分组

转载 作者:行者123 更新时间:2023-12-04 09:13:11 27 4
gpt4 key购买 nike

我有以下数据框

year <- c(1949, 1950, 1950, 1950, 1951, 1951, 1951, 1952, 1952, 1952, 1953, 1953, 1953)
month <- c(12, 1, 2, 12, 1, 2, 12, 1, 2, 12, 1, 2, 12)
df <- data.frame(year, month)
df
year month
1 1949 12
2 1950 1
3 1950 2
4 1950 12
5 1951 1
6 1951 2
7 1951 12
8 1952 1
9 1952 2
10 1952 12
11 1953 1
12 1953 2
13 1953 12

其中第 1 个月是 1 月,第 12 个月是 12 月。现在我想按冬季对它们进行分组。这意味着例如 1949 年的第 12 个月将与 1950 年的第 1 个月和第 2 个月分组,因为它们属于 1 个冬季。理想的结果是:
 year month winterseason
1 1949 12 1
2 1950 1 1
3 1950 2 1
4 1950 12 2
5 1951 1 2
6 1951 2 2
7 1951 12 3
8 1952 1 3
9 1952 2 3
10 1952 12 4
11 1953 1 4
12 1953 2 4
13 1953 12 5

有任何想法吗?

最佳答案

如果这个月已经安排好了

df$winterseason <- cumsum(df$month == 12)
df$winterseason
#[1] 1 1 1 2 2 2 3 3 3 4 4 4 5

关于r - 在 R 中按冬季而不是年份对月份进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50385793/

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