我有一个像这样的数据框:
DF = data.frame(ID=rep(c("a","b","c"),each=3), Class=c("X","Y","Z"), Period=c("12/12","13/04","13/08"))
DF
ID Class Period
1 a X 12/12
2 a Y 13/04
3 a Z 13/08
4 b X 12/12
5 b Y 13/04
6 b Z 13/08
7 c X 12/12
8 c Y 13/04
9 c Z 13/08
我希望 ID 和 Period 的每个组合都有一个列,其中包含每个 ID 的前一周期的 Class 值。像这样的东西:
ID Class Period PrevClass PrevPeriod
1 a X 12/12 <NA> <NA>
2 a Y 13/04 X 12/12
3 a Z 13/08 Y 13/04
4 b X 12/12 <NA> <NA>
5 b Y 13/04 X 12/12
...
只是为了在我的数据框中添加这一点,并非所有 ID 都会在每个时期都有记录。我通过 ODBC 从数据库中获取数据,只是在考虑使用 SQL 是否比在 R 中更容易。
提前致谢!