【发布时间】:2018-10-27 09:19:12
【问题描述】:
我有以下数据框
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
有什么想法吗?
【问题讨论】:
-
除了 12、1 和 2 之外还有其他月份吗?此外,它们总是按顺序排列吗?我的意思是12、1、2、12、1、2.....?
-
在你的现实生活中的数据也总是
c(12,1,2)?那么你可以简单地尝试gl(nrow(df)/3,3) -
在现实生活中的数据中,它的 c(11,12,1,2) 也是 11 月 :) 并且总是按顺序排列
-
那么你想要 11 的
winterseason列的值是多少?您能否在示例中添加 November(11) 并更新预期输出,使其更清晰。
标签: r