1
我有一些面板数据。对于这些数据,我想计算每个小组每年的差异,如果小组在两年内都有观察结果的话。计算面板差异
这里的数据:
> head(statistics)
persnr year NOBS value
1: 61961225 1993 1 0.5777598
2: 62037645 1993 1 0.5777598
3: 62181514 1993 1 0.5777598
4: 62499451 1993 1 0.5777598
5: 62649247 1993 1 0.5777598
6: 62744472 1993 1 0.5777598
哪里persnr
是面板的GROUPID。而我目前的做法是沿着
dataTable = data.table(cast(statistics, persnr ~ year, value='totalWage'))
# y is the second year. Iterate over that
for (y in tail(unique(statistics[, jahr]), n=-1)):
# get the first year
x <- y - 1
dataTable[!is.na(`x`) & !is.na(`y`), `y`-`x`]
}
不过线的东西,我不能使用\
x``方案来访问列。什么是解决这个问题的“R-ISH”方法?
你不在'data.table'中使用'order'。无论是使用'setkey'还是'setorder' – 2014-11-02 08:59:36
@DavidArenburg,你都可以,当你不想改变原始data.table的顺序。 – Arun 2014-11-02 13:01:03