n*****1 发帖数: 172 | 1 panel data, column是若干firm的id, row是对应每个firm的time series observation
on X和Z, 每个firm的time series
长度并不一定相同
请问如何by firm create出X的lag variable?
原本:
Firm Year X Z
1 2000 5 100
1 2001 4 90
2 1995 3 80
2 1996 2 70
2 1997 1 60
整理之后:
Firm Year X Z
1 2000 NA 100
1 2001 5 90
2 1995 NA 80
2 1996 3 70 | q**j 发帖数: 10612 | 2 merge()
observation
【在 n*****1 的大作中提到】![](/moin_static193/solenoid/img/up.png) : panel data, column是若干firm的id, row是对应每个firm的time series observation : on X和Z, 每个firm的time series : 长度并不一定相同 : 请问如何by firm create出X的lag variable? : 原本: : Firm Year X Z : 1 2000 5 100 : 1 2001 4 90 : 2 1995 3 80 : 2 1996 2 70
| n*****1 发帖数: 172 | 3 merge? 能详细点吗? 谢谢
【在 q**j 的大作中提到】![](/moin_static193/solenoid/img/up.png) : merge() : : observation
| t**i 发帖数: 688 | 4 ## suppose the third column is X
new.data = do.call("rbind",by(data, data$firm, function(dd)
{
data.frame(dd[,1:2],c(NA,dd$X[-1]),dd[,4])
})) | n*****1 发帖数: 172 | 5 谢谢!
昨晚发现plm这个package也可以像我要求的那样by firm create lagged variables
【在 t**i 的大作中提到】![](/moin_static193/solenoid/img/up.png) : ## suppose the third column is X : new.data = do.call("rbind",by(data, data$firm, function(dd) : { : data.frame(dd[,1:2],c(NA,dd$X[-1]),dd[,4]) : }))
|
|