LoslegenKostenlos loslegen

Gleitenden Durchschnitt über alle Sportarten berechnen

Nachdem du das Subsetting deiner Daten auf Wochenendspiele gemeistert hast, möchte dein Kunde nun einen anderen Ansatz. Vielleicht profitiert Bostons Tourismusbranche, wenn die lokalen Sportteams mehr Spiele zu Hause gewinnen.

Statt dich auf Wochenendspiele zu konzentrieren, sollst du einen gleitenden Gewinn/Verlust-Durchschnitt für Spiele in Boston erstellen. Um diesen Indikator zu erzeugen, verwendest du erneut den oben genutzten Befehl rollapply(). Diesmal wendest du deine Berechnung auf alle Sportteams im Großraum Boston an, subsettest aber so, dass nur Heimspiele enthalten sind.

Diese Übung ist Teil des Kurses

Fallstudie: Zeitreihendaten von Städten in R analysieren

Kurs anzeigen

Anleitung zur Übung

  • Subsette deine sports-Daten so, dass nur Spiele in Boston enthalten sind (homegame = 1), und zwar im Format data[column == x]. Speichere dieses neue Objekt als homegames.
  • Verwende rollapply(), um den Gewinn/Verlust-Durchschnitt der letzten 20 Heimspiele der Bostoner Teams zu berechnen. Du musst die Spalte win_loss aus deinen homegames-Daten angeben, die width auf 20 setzen und das Argument FUN auf mean setzen. Speichere diesen Indikator in deinem homegames-Objekt als win_loss_20.
  • Verwende einen ähnlichen Aufruf von rollapply(), um einen gleitenden Gewinn/Verlust-Durchschnitt über 100 Spiele zu berechnen. Speichere diesen Indikator in deinem homegames-Objekt als win_loss_100.
  • Verwende plot.zoo(), um beide Indikatoren zu visualisieren. Wähle dabei die Spalten win_loss_20 und win_loss_100 aus und setze das Argument plot.type auf "single", um beide im selben Panel anzuzeigen. Lass die Argumente lty und lwd unverändert.

Interaktive Übung

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

# Generate a subset of sports data with only homegames
homegames <- sports[sports$___ == ___]

# Calculate the win/loss average of the last 20 home games
homegames$win_loss_20 <- rollapply(___$___, width = ___, FUN = ___)

# Calculate the win/loss average of the last 100 home games
homegames$win_loss_100 <- 

# Use plot.xts to generate
plot.zoo(___[, c("___", "___")], plot.type = "___", lty = lty, lwd = lwd)
Code bearbeiten und ausführen