Zacznij terazZacznij za darmo

Obliczanie średniej na koniec sezonu

Po zbadaniu trendów w danych Red Sox czas na wyliczenie przydatnych wskaźników. W tym ćwiczeniu obliczysz średnią wygranych/przegranych drużyny na koniec każdego sezonu. Można to potraktować jak wartość drużyny na zamknięcie sezonu – podobnie jak w terminologii finansowej.

Aby wyliczyć tę średnią, skombinujesz kilka funkcji poznanych w poprzednich rozdziałach.

Najpierw wyznaczysz wygrane na podstawie wyników każdego meczu. Użyjesz do tego prostej funkcji ifelse() – Red Sox wygrywają mecz, gdy zdobywają więcej punktów niż drużyna przeciwna.

Następnie wyznaczyłeś datę ostatniego meczu w każdym sezonie za pomocą endpoints(). Ta funkcja wskazuje ostatnią datę w obiekcie w obrębie określonych okresów.

Na koniec, aby obliczyć średnią wygranych/przegranych na zamknięcie sezonu, użyj period.apply() na kolumnie win_loss swoich danych, podając daty close jako indeks oraz mean jako funkcję.

Obiekt redsox_xts jest dostępny w twoim środowisku pracy.

To ćwiczenie jest częścią kursu

Studium przypadku: analiza danych szeregów czasowych miasta w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj ifelse, aby wyliczyć win_loss: wartość 1, jeśli boston_score jest większe niż opponent_score, lub 0 w przeciwnym razie.
  • Użyj endpoints(), aby wyznaczyć datę ostatniego meczu w każdym sezonie. Ponieważ sezon baseballowy mieści się w jednym roku, ustaw argument on na "years", aby uzyskać ostatni mecz każdego roku. Zapisz te daty jako close.
  • Użyj period.apply(), aby obliczyć średnią wygranych/przegranych na koniec sezonu. Podaj kolumnę win_loss ze swojego obiektu redsox_xts, daty close jako okres oraz mean jako funkcję.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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[, "___"], ___, ___)
Edytuj i uruchom kod