LoslegenKostenlos loslegen

Einen monatlichen Durchschnitt erzeugen

Der Befehl to.period() ist in vielen Kontexten nützlich, für deine Zwecke ist es aber möglicherweise nicht sinnvoll, eine einzelne Zeile als repräsentativ für den ganzen Monat zu wählen.

Stattdessen ergibt es mehr Sinn, durchschnittliche Temperaturwerte pro Monat zu erzeugen. Dafür musst du den monatlichen Durchschnitt manuell mit split() und lapply() berechnen und anschließend mit as.xts() ein neues xts-Objekt erzeugen. Das wirkt vielleicht kompliziert, aber du hast bereits die nötigen Skills!

Das gefilterte xts-Objekt aus der vorherigen Übung, temps_xts_2, ist in deinem Workspace vorab geladen. Ebenfalls vorab geladen ist ein index-Objekt mit einem Vektor von Daten für den ersten Tag jedes im Datensatz abgedeckten Monats.

Diese Übung ist Teil des Kurses

Fallstudie: Zeitreihendaten von Städten in R analysieren

Kurs anzeigen

Anleitung zur Übung

  • Verwende split(), um aus der mean-Spalte deines Objekts temps_xts_2 monatliche Listen zu erzeugen. Achte darauf, "months" als Zeitraum (das Argument f) anzugeben.
  • Verwende lapply(), um das „mean of means“, also die durchschnittliche mittlere Temperatur pro Monat, zu berechnen.
  • Verwende as.xts(), um ein neues xts-Objekt zu erzeugen, das die durchschnittliche monatliche Temperatur in Boston von 2010 bis 2015 enthält. Dazu musst du deine monatlichen mean_of_means-Daten mit deinem monatlichen index-Objekt kombinieren.
  • Bestätige zum Schluss, dass dein neues Objekt temps_monthly dieselbe Dauer und Periodizität wie flights_xts hat.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Split temps_xts_2 into separate lists per month
monthly_split <- split(___$___ , f = "___")

# Use lapply to generate the monthly mean of mean temperatures
mean_of_means <- lapply(___, FUN = ___)

# Use as.xts to generate an xts object of average monthly temperature data
temps_monthly <- as.xts(as.numeric(___), order.by = ___)
 
# Compare the periodicity and duration of your new temps_monthly and flights_xts 
periodicity(___)
periodicity(___)
Code bearbeiten und ausführen