带滞后分组,mutate / plm滞后

时间:2019-09-10 15:55:00

标签: group-by dplyr panel lag plm

我想滞后于组数据,发现了一些代码。

首先是plm软件包,它易于使用和工作。

但是,我不知道为什么dplyr / hmisc / data表代码对我的数据不起作用。 (dplyr代码来源:Lag colum by group in dplyr,该代码适用于他们的示例,但不适用于我的数据。)

library(plm)###success code
x=pdata.frame(x)
f=cbind(x,lagScore=lag(x$test.logHMscore))
library(dplyr)###fail1
fff=x%>% group_by(test.ISO.Code) %>%   mutate(laghs = dplyr::lag(test.logHMscore, n = 1, default = NA)) 
library(Hmisc)###fail2
fff=x %>%
  arrange(test.ISO.Code,test.Year) %>%
  group_by(test.ISO.Code) %>%
  mutate(a =Lag( test.logHMscore),shift=1) 
library(data.table)###fail3
fff=x %>%
  arrange(test.ISO.Code,test.Year) %>%
  group_by(test.ISO.Code) %>%
  mutate(a =shift( test.logHMscore))
##my data
x <- wrapr::build_frame(
   "test.ISO.Code"  , "test.Year", "test.logHMscore" 
     "ALB"          , 2008L      , 2.015             
     "ALB"          , 2009L      , 2.026             
     "ALB"          , 2010L      , 2.022             
     "DZA"          , 2008L      , 1.64              
     "DZA"          , 2009L      , 1.641             
     "DZA"          , 2010L      , 1.637             
     "AGO"          , 2008L      , 1.574             
     "AGO"          , 2009L      , 1.65              
     "AGO"          , 2010L      , 1.656             

谢谢

0 个答案:

没有答案