これを何というタイトルにしようか迷いました。
人、年、活動のデータセットがあります
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
年と活動の列を結合したいのですが、元の年の列では、id との関連付けを維持しながら、年ごとに +/- 3 年を生成したいと考えています。
これを 2 つの手順で行った場合: 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 の activities 列と結合し、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
...
いつもありがとうございます!