Я создал панель, выполнив следующие действия:
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, но, похоже, ничего не работает, я попытался форсировать paccage plm на случай, если он запутался dplyr, но это тоже не помогает. Пожалуйста, обратите внимание, что мои данные чистые и нет значений бесконечности или NA. Может ли это быть из-за того, как я отформатировал столбец даты? Должен ли я изменить это?
Вот что я хочу сделать:
reg1 <- plm(lead(R_excess,1) ~ lag(RF, 1) + lag (HML, 2), data=nlspd, model="within")