Obliczanie średniej kroczącej dla wszystkich dyscyplin sportowych
Teraz, gdy opanujesz filtrowanie danych do meczów weekendowych, klient chce, żebyś spróbował innego podejścia. Być może turystyka w Bostonie zyskuje wtedy, gdy lokalne drużyny wygrywają więcej meczów u siebie.
Zamiast skupiać się na weekendach, masz za zadanie obliczyć kroczącą średnią wygranych i przegranych – ale tylko dla meczów rozgrywanych w Bostonie. Wróć do funkcji rollapply() użytej wcześniej i zastosuj obliczenia do wszystkich bostońskich drużyn sportowych, ograniczając dane wyłącznie do meczów domowych.
To ćwiczenie jest częścią kursu
Studium przypadku: analiza danych szeregów czasowych miasta w R
Instrukcje do ćwiczenia
- Przefiltruj dane
sports, aby uwzględnić tylko mecze rozgrywane w Bostonie (homegame = 1), używając formatudata[column == x]. Nowy obiekt zapisz jakohomegames. - Użyj funkcji
rollapply(), aby obliczyć średnią wygranych i przegranych z ostatnich 20 meczów domowych bostońskich drużyn. Wskaż kolumnęwin_lossw zbiorzehomegames, ustawwidthna20i ustaw argumentFUNnamean. Zapisz ten wskaźnik w obiekciehomegamesjakowin_loss_20. - Podobnym wywołaniem
rollapply()oblicz kroczącą średnią wygranych i przegranych z100meczów. Zapisz ten wskaźnik w obiekciehomegamesjakowin_loss_100. - Użyj funkcji
plot.zoo(), aby zwizualizować oba wskaźniki. Pamiętaj, aby wybrać kolumnywin_loss_20iwin_loss_100oraz ustawić argumentplot.typena"single", żeby wyświetlić je na jednym wykresie. Zostaw argumentyltyilwdbez zmian.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)