1. Nauka
  2. /
  3. Projekty
  4. /
  5. Studium przypadku: analiza danych szeregów czasowych miasta w R

Connected

ćwiczenie

Oblicz i zwizualizuj sezonową średnią

W poprzednim ćwiczeniu użyłeś(-aś) funkcji endpoints() i period.apply(), aby szybko obliczyć średnią zwycięstw i porażek Boston Red Sox na koniec każdego sezonu. A co, jeśli potrzebujesz znać skumulowaną średnią w trakcie każdego sezonu? Statystycy i kibice sportu często korzystają z tej średniej, by porównywać drużyny między sobą.

Aby obliczyć skumulowaną średnią dla każdego sezonu, wrócimy do formuły split-lapply-rbind ćwiczonej w rozdziale trzecim. Najpierw podzielisz dane według sezonu, następnie zastosujesz funkcję skumulowanej średniej do kolumny win_loss w każdym sezonie, a na końcu połączysz wartości z powrotem w obiekt xts.

Na potrzeby tego ćwiczenia przygotowano dla ciebie niestandardową funkcję cummean(), która oblicza sumę skumulowaną i dzieli ją przez liczbę uwzględnionych wartości. Dane redsox_xts wraz z kolumną win_loss są dostępne w twoim środowisku roboczym.

Instrukcje

100 XP
  • Użyj funkcji split(), aby podzielić dane redsox_xts na sezony (w tym przypadku years). Przypisz wynik do zmiennej redsox_seasons.
  • Użyj funkcji lapply(), aby obliczyć skumulowaną średnią dla każdego sezonu. W tym ćwiczeniu przygotowano funkcję cummean(), która oblicza sumę (przy użyciu cumsum()) i dzieli ją przez liczbę wpisów w sumie (przy użyciu seq_along()). Zapisz te dane do zmiennej redsox_ytd.
  • Użyj funkcji do.call() z argumentem rbind, aby przekształcić listę wynikową w pojedynczy obiekt xts (redsox_winloss) zawierający średnią zwycięstw i porażek przez cały czas trwania każdego sezonu.
  • Użyj funkcji plot.xts(), aby wyświetlić skumulowaną średnią zwycięstw i porażek w sezonie 2013. Pozostaw argument ylim bez zmian w gotowym kodzie.