Sospetto che questa sia una domanda piuttosto semplice con più soluzioni, ma sono ancora un po 'novizio in R e una ricerca esaustiva non ha prodotto risposte che parlassero bene a quello che ho m che voglio fare.Generazione di una variabile somma mobile in R
Sto cercando di creare, per mancanza di un termine migliore, "spostare somme" per una variabile nel mio frame di dati. Si tratterebbe di somme di 3 anni e di 5 anni, in ritardo di un anno. Quindi, una somma di 5 anni per un'osservazione nel 1986 sarebbe la somma di tutte le precedenti osservazioni nel 1981, 1982, 1983, 1984 e 1985. Ecco un esempio di ciò che vorrei fare, dove la variabile somma è la somma di tutti x
nei cinque anni precedenti l'anno di osservazione.
country year x x5yrsum
A 1980 9 NA
A 1981 3 NA
A 1982 5 NA
A 1983 6 NA
A 1984 9 NA
A 1985 7 32
A 1986 9 30
A 1987 4 36
.....................
B 1990 0 NA
B 1991 4 NA
B 1992 2 NA
B 1993 6 NA
B 1994 3 NA
B 1995 7 15
B 1996 0 22
Dati di pannello non bilanciati. Sospetto che lo ddply
sia appropriato, ma non saprei la codifica esatta per esso.
Qualsiasi input sarebbe apprezzato.
Dai un'occhiata a '? Rollsum' dal pacchetto' zoo'. Combinato con 'aggregate',' data.table' o 'ddply' dovresti essere impostato. – Justin