Se você deseja criar uma variável defasada em R para dados de seção transversal de série temporal, os pacotes de série temporal usuais (ou seja, zoo e xts ) realmente não fazem o trabalho.
Portanto, use o pacote plyr .
Imagine que temos um quadro de dados ( Data
) com três variáveis: Country
, Year
e Variable
. Queremos atrasar Variable
um ano para cada país. Vamos chamar a variável defasada VariableLag1
. Use o ddply
comando assim:
library(plyr)
Data <- ddply(Data, .(country), transform, VariableLag1 =
c(NA, Variable[-length(Variable)]
)
)
É isso aí.
Graças a esta postagem no StackOverflow.