Aan de slagGa gratis aan de slag

Bereken een slotgemiddelde

Nu je enkele trends in je Red Sox-gegevens hebt verkend, wil je nuttige indicatoren maken. In deze oefening bereken je het winst/verliesgemiddelde van het team aan het einde van elk seizoen. In financiële termen kun je dit zien als de waarde van het team bij de slotkoers van het seizoen.

Om een sluitingsgemiddelde van winst/verlies te berekenen, moet je een paar commando’s uit eerdere hoofdstukken combineren.

Ten eerste identificeer je overwinningen op basis van de score van elke wedstrijd. Dat kan met een eenvoudige ifelse() en de kennis dat de Red Sox elke wedstrijd winnen waarin zij meer punten scoren dan de tegenstander.

Vervolgens bepaal je de datum van de laatste wedstrijd in elk seizoen met endpoints(). Dit commando geeft de laatste datum in je object binnen bepaalde perioden.

Tot slot bereken je het sluitingsgemiddelde van winst/verlies per seizoen met period.apply() op de kolom win_loss van je gegevens, waarbij je de close-datums als index opgeeft en mean als functie.

Het object redsox_xts is beschikbaar in je werkruimte.

Deze oefening maakt deel uit van de cursus

Casestudy: Tijdreeksgegevens van een stad analyseren in R

Cursus bekijken

Oefeninstructies

  • Gebruik ifelse om win_loss te berekenen, gecodeerd als 1 als boston_score groter is dan opponent_score en anders 0.
  • Gebruik endpoints() om de datum van de laatste wedstrijd in elk seizoen te bepalen. Omdat honkbalseizoenen binnen één jaar vallen, kun je het argument on instellen op "years" om de laatste wedstrijd van elk jaar te krijgen. Sla deze datums op als close.
  • Gebruik period.apply() om het winst/verliesgemiddelde aan het einde van het seizoen te berekenen. Geef de kolom win_loss van je redsox_xts-gegevens op, de close-datums als periode, en mean als functie.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Generate a new variable coding for red sox wins
redsox_xts$win_loss <- ifelse(redsox_xts$___ > redsox_xts$___, 1, 0)

# Identify the date of the last game each season
close <- endpoints(___, on = "___")

# Calculate average win/loss record at the end of each season
period.apply(redsox_xts[, "___"], ___, ___)
Code bewerken en uitvoeren