plm滞后功能似乎在面板中不起作用

时间:2019-03-29 02:31:16

标签: r dplyr lag plm

我通过执行以下操作创建了一个面板:


nlspd <- pdata.frame(p1, index=c("P", "date"))

             P       date       r Mkt.RF     SMB     HML     RF  MKT_RF R_excess
1-1966-01-01 1 1966-01-01  0.0098   0.72  0.0389  0.0349 0.0038  0.0072   0.0060
1-1966-02-01 1 1966-02-01 -0.0351  -1.21  0.0454  0.0027 0.0035 -0.0121  -0.0386
1-1966-03-01 1 1966-03-01 -0.0134  -2.51  0.0094 -0.0207 0.0038 -0.0251  -0.0172
2-1966-01-01 2 1966-01-01  0.0270   2.14  0.0345 -0.0054 0.0034  0.0214   0.0236
2-1966-02-01 2 1966-02-01 -0.0484  -5.66 -0.0470 -0.0155 0.0041 -0.0566  -0.0525
2-1966-03-01 2 1966-03-01 -0.0208  -1.44  0.0102  0.0050 0.0038 -0.0144  -0.0246

当我尝试在其中一列上使用以下滞后函数时:

nlspd$R2 <- plm::lead(nlspd$R_excess,1)

我收到以下错误:

Warning message:
In alagt(x, k) : NAs introduced by coercion

我的目标是使用plm运行各种滞后回归,但似乎无济于事,我尝试强制使用plm pakcage,以防dplyr将其混淆。但这也无济于事。请注意,我的数据是干净的,没有无穷大或NA值。这可能是由于我格式化日期列的方式造成的吗?我应该改变吗? 这就是我想要做的:

reg1 <- plm(lead(R_excess,1) ~ lag(RF, 1) + lag (HML, 2), data=nlspd, model="within")

0 个答案:

没有答案