Začněte nyníZačněte zdarma

Výpočet klouzavého průměru přes všechny sporty

Teď, když už zvládáš filtrovat data jen na víkendové zápasy, chce klient zkusit jiný přístup. Cestovní ruch v Bostonu možná roste, když místní sportovní týmy vyhrávají více zápasů doma.

Místo víkendových zápasů máš za úkol vypočítat klouzavý průměr výher a proher pro zápasy odehrané v Bostonu. K tomu se vrátíš k příkazu rollapply() z předchozího cvičení – tentokrát ho použiješ na všechny bostonské sportovní týmy a vyfiltruje pouze domácí zápasy.

Toto cvičení je součástí kurzu

Případová studie: Analýza časových řad městských dat v R

Zobrazit kurz

Pokyny k cvičení

  • Vyfiltruj data sports tak, aby obsahovala pouze domácí zápasy v Bostonu (homegame = 1), a to ve formátu data[column == x]. Výsledek ulož do nového objektu homegames.
  • Pomocí rollapply() vypočítej klouzavý průměr výher a proher za posledních 20 domácích zápasů bostonských týmů. Zadej sloupec win_loss z dat homegames, nastav width na 20 a argument FUN na mean. Výsledek ulož do objektu homegames jako win_loss_20.
  • Podobným voláním rollapply() vypočítej klouzavý průměr výher a proher za 100 zápasů. Výsledek ulož do objektu homegames jako win_loss_100.
  • Pomocí plot.zoo() vizualizuj oba ukazatele. Nezapomeň vybrat sloupce win_loss_20 a win_loss_100 a nastav argument plot.type na "single", aby se oba zobrazily ve stejném panelu. Argumenty lty a lwd nech beze změny.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)
Upravit a spustit kód