Aan de slagGa gratis aan de slag

Bereken een voortschrijdend gemiddelde over alle sporten

Nu je het subsetten van je data tot alleen weekendwedstrijden onder de knie hebt, wil je klant dat je een andere insteek probeert. Misschien krijgt de toerismesector in Boston een impuls als lokale sportteams meer wedstrijden thuis winnen.

In plaats van te focussen op weekendwedstrijden, ga je een voortschrijdend gemiddelde van winst/verlies maken voor wedstrijden die in Boston zijn gespeeld. Om deze indicator te maken, ga je terug naar het hierboven gebruikte rollapply()-commando. Dit keer pas je je berekening toe op alle sportteams in de regio Boston, maar subset je zodat alleen thuiswedstrijden worden meegenomen.

Deze oefening maakt deel uit van de cursus

Casestudy: Tijdreeksgegevens van een stad analyseren in R

Cursus bekijken

Oefeninstructies

  • Maak een subset van je sports-data met alleen wedstrijden die in Boston zijn gespeeld (homegame = 1) met het formaat data[column == x]. Sla dit nieuwe object op als homegames.
  • Gebruik rollapply() om het winst/verlies-gemiddelde van de laatste 20 thuiswedstrijden van Bostonse sportteams te berekenen. Je moet de win_loss-kolom van je homegames-data specificeren, width instellen op 20 en het argument FUN op mean. Sla deze indicator in je homegames-object op als win_loss_20.
  • Gebruik een vergelijkbare aanroep van rollapply() om een voortschrijdend winst/verlies-gemiddelde over 100 wedstrijden te berekenen. Sla deze indicator in je homegames-object op als win_loss_100.
  • Gebruik plot.zoo() om beide indicatoren te visualiseren. Zorg dat je de kolommen win_loss_20 en win_loss_100 selecteert en stel het argument plot.type in op "single" om beide in hetzelfde paneel te zien. Laat de argumenten lty en lwd ongewijzigd.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren