我不知道该怎么标题。新的重叠变量
我的人,多年的数据集,以及活动
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
如果我这样做2个步骤协会: 对于id为“1”的原始今年是1971年,所以+/- 3年ID 1将导致:
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
...
与往常一样,谢谢!
请说明你想要使用什么。你的例子有'rep(“1971”),6)'那么这六个实例去哪里?你的输出只需要“df $ id”的每个元素,并在它旁边贴上'seq(df $ years-3,df $ years + 3)'。您是否需要该序列的六个实例,其后每隔一个输入年份的值就有相似的输出块?另外,如何将“年”作为数字而不是字符串?它会让事情变得更容易。哦,“活动”价值观发生了什么变化?他们跟踪“ID”还是“年份”? – 2012-04-22 21:48:34
我投了赞成票似乎是一个难以理解的问题。 – 2012-04-22 23:09:34
对不起的问题措辞和糟糕的代码。希望这可以让问题更容易理解。 – crock1255 2012-04-23 00:27:40