R dados defasados ​​com dados transversais de séries temporais.

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, Yeare Variable. Queremos atrasar Variableum ano para cada país. Vamos chamar a variável defasada VariableLag1. Use o ddplycomando assim:

library(plyr)

Data <- ddply(Data, .(country), transform, VariableLag1 =
c
(NA, Variable[-length(Variable)]
)
)

É isso aí.

Graças a esta postagem no StackOverflow.