R plm lag() игнорирует структуру панели

Я хочу создать лаги переменной. В настройках данных панели очевидно, что лаги учитываются только внутри каждой панели.

Как так получилось plm"s lag() не уважает структуру панели (по умолчанию) и есть ли способ изменить это (без dplyr вручную)?

# Load example data
data("EmplUK", package = "plm")
Em <- pdata.frame(EmplUK, index=c('firm', 'year'))

# how I think it should have worked
Em$lwage_incorrect = lag(Em$wage)

# what actually works
Em= Em %>%  group_by(firm) %>%  mutate(lwage_correct = lag(wage))

1 ответ

Решение

Когда я запускаю ваш код, я получаю специфичные для панели лаги, используя оба ваших метода, так что вы можете проверить это снова. Я попадал в подобные проблемы раньше, когда мне было непонятно, что lag функция, которую я на самом деле использовал (есть одна в base R, один в plmи один в dplyr, например). Бег Em$lwage = plm::lag(Em$wage) устраняет эту двусмысленность

Другие вопросы по тегам