假设我有一个如下的数据集:
| Individual | Year | x1 | x2 |
-------------------------------
| 1 | 1 | 3 | 5 |
| 1 | 2 | 7 | 4 |
| 1 | 3 | 8 | 6 |
| 2 | 1 | 0 | 6 |
| 2 | 2 | 9 | 2 |
等等,我想创建一个变量来度量每个人x1相对于上一年的变化,也就是说,我想转换我的数据,使其看起来像:
| Individual | Year | x1 | x2 | Change_x1 |
---------------------------------------------
| 1 | 1 | 3 | 5 | NA |
| 1 | 2 | 7 | 4 | 4 |
| 1 | 3 | 8 | 6 | 1 |
| 2 | 1 | 0 | 6 | NA |
| 2 | 2 | 9 | 2 | 9 |
到目前为止,我已经尝试使用以下方法来完成此操作:
data%>%
group_by(Individual,Year)%>%
mutate(Change_x1 = x1 - lag(x1))
但这只返回Change_x1
作为NA列。
任何帮助将不胜感激!
1条答案
按热度按时间rhfm7lfc1#
在
group_by()
中不需要Year