Ich habe ein Problem mit Zeitreihen in R. UmgangWas ist die umgekehrte Funktion, um einen R-Vektor/Datenrahmen zu verzögern?
#--------------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)
Es gibt mir die folgende Ausgabe:
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
Aber ich will der erste Wert in y 50,8 und so weiter zu sein. Mit anderen Worten, ich möchte eine negative Verzögerung bekommen. Ich verstehe es nicht, wie kann ich es tun?
Mein Problem ist diesem Problem sehr ähnlich, aber ich kann es nicht lösen. Ich glaube, ich verstehe immer noch nicht die Lösung (en) ...
Basic lag in R vector/dataframe
Können Sie Ihren y Vektor dput? –
Eine andere Option ist natürlich 'y <- c (y [-1], NA)'. – jbaums
Was ist dput? @jbaums Wow, das ist wirklich eine einfache Lösung für mein Problem! Ich danke dir sehr! :) –