Funktionen auf Rollfenster anwenden

Zeitreihen in R bearbeiten

Harrison Brown

Graduate Researcher in Geography

Rollfunktionen aus zoo

zoo::roll*:

  • rollmean()
  • rollmax()
  • rollsum()
  • ...

Einschränkungen:

  • Kein rollmin()!
  • Nur bestimmte Funktionen vorhanden
Zeitreihen in R bearbeiten

rollapply

rollapply(data = ftse,
          width = 7,
          FUN = min,
          align = 'right',
          fill = NA)

Argumente:

  • data: Zeitreihenobjekt
  • width: Fensterbreite (k)
  • FUN: Zusammenfassungsfunktion (mean, max, ...)
  • align: Fensterausrichtung ('left', 'right' oder 'center')
  • fill: Füllwerte außerhalb des Fensters
Zeitreihen in R bearbeiten

Funktionen per rollapply anwenden

Ziel:

  • Wertebereich im 30-Tage-Fenster finden
  • „Variation" der Daten annähern
daily_temp
2019-01-01 13.191304
2019-01-02  6.945833
2019-01-03  8.495833
2019-01-04  8.683333
2019-01-05  7.400000
...
find_range <- function(x){
  max(x) - min(x)
}
daily_temp_range <- 
  rollapply(
      daily_temp,
    FUN = find_range,
    width = 30,
    align = 'right',
    fill = NA
  )
Zeitreihen in R bearbeiten

Funktionen per rollapply anwenden

autoplot(daily_temp_range) + 
  theme_light() + 
  labs(y = 'Temperaturbereich')

Diagramm der Zeitreihe „daily temperature range". Das Diagramm zeigt, wie sich der Bereich der Werte über die Zeit ändert; der Bereich wird für ein 30-tägiges Rollfenster berechnet, und die Differenz zwischen Minimal- und Maximalwert wird dargestellt.

Zeitreihen in R bearbeiten

Lass uns üben!

Zeitreihen in R bearbeiten

Preparing Video For Download...