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
Oefeninstructies
- Maak een subset van je
sports-data met alleen wedstrijden die in Boston zijn gespeeld (homegame = 1) met het formaatdata[column == x]. Sla dit nieuwe object op alshomegames. - Gebruik
rollapply()om het winst/verlies-gemiddelde van de laatste 20 thuiswedstrijden van Bostonse sportteams te berekenen. Je moet dewin_loss-kolom van jehomegames-data specificeren,widthinstellen op20en het argumentFUNopmean. Sla deze indicator in jehomegames-object op alswin_loss_20. - Gebruik een vergelijkbare aanroep van
rollapply()om een voortschrijdend winst/verlies-gemiddelde over100wedstrijden te berekenen. Sla deze indicator in jehomegames-object op alswin_loss_100. - Gebruik
plot.zoo()om beide indicatoren te visualiseren. Zorg dat je de kolommenwin_loss_20enwin_loss_100selecteert en stel het argumentplot.typein op"single"om beide in hetzelfde paneel te zien. Laat de argumentenltyenlwdongewijzigd.
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)