Кажется, что функция PLM LAG не работает в панели - PullRequest
0 голосов
/ 29 марта 2019

Я создал панель, выполнив следующие действия:


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")

...