我不知道给这个取什么标题。
我有一个关于人员、年份和活动的数据集
df <- data.frame("id" = c("1", "1", "1", "2", "2","3"), "years" = rep(1971, 6),
"activity" = c("a","b","c","d","e","e"))
id years activity
1 1 1971 a
2 1 1971 b
3 1 1971 c
4 2 1971 d
5 2 1971 e
6 3 1971 e
我想结合年份和活动列,但是对于每一年,在原始年份列中,我想生成 +/- 3 年,同时保留与 id 的关联
如果我分两步执行此操作: 对于 id "1",原始年份是 1971 年,因此 ID 1 的 +/-3 年将导致:
id all_years
1 1968
1 1969
1 1970
1 1971
1 1972
1 1973
1 1974
在第 2 步中,我想将此 all_years 列与原始 df 中的活动列结合起来,保留 id。所以 id "1" 有 3 个活动 (a,b,c) 和 7 年 (1968:1964),所以 id "1" 将在新的组合列中出现 10 次。
所以最终,我会得到这样的结果:
id year_and_activities
1 a
1 b
1 c
1 1968
1 1969
1 1970
1 1971
1 1972
1 1973
1 1974
2 d
2 e
2 1968
...
2 1974
...
3 e
...
一如既往,谢谢!