Ho un problema che fare con le serie temporali a R.Qual è la funzione opposta al ritardo per un vettore R/dataframe?
#--------------read data
wb = loadWorkbook("Countries_Europe_Prices.xlsx")
df = readWorksheet(wb, sheet="Sheet2")
x <- df$Year
y <- df$Index1
y <- lag(y, 1, na.pad = TRUE)
cbind(x, y)
Mi dà il seguente risultato:
x y
[1,] 1974 NA
[2,] 1975 50.8
[3,] 1976 51.9
[4,] 1977 54.8
[5,] 1978 58.8
[6,] 1979 64.0
[7,] 1980 68.8
[8,] 1981 73.6
[9,] 1982 74.3
[10,] 1983 74.5
[11,] 1984 72.9
[12,] 1985 72.1
[13,] 1986 72.3
[14,] 1987 71.7
[15,] 1988 72.9
[16,] 1989 75.3
[17,] 1990 81.2
[18,] 1991 84.3
[19,] 1992 87.2
[20,] 1993 90.1
Ma voglio che il primo valore in Y da 50,8 e così via. In altre parole, voglio ottenere un ritardo negativo. Non capisco, come posso farlo?
Il mio problema è molto simile a questo problema, ma comunque non riesco a risolverlo. Credo che ancora non capisco la soluzione (s) ...
Basic lag in R vector/dataframe
Puoi dput il tuo vettore y? –
Un'altra opzione è ovviamente 'y <- c (y [-1], NA)'. – jbaums
Che cos'è dput? @jbaums Wow, questa è davvero una soluzione facile al mio problema! Grazie mille! :) –