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
Pokyny k cvičení
- Vyfiltruj data
sportstak, aby obsahovala pouze domácí zápasy v Bostonu (homegame = 1), a to ve formátudata[column == x]. Výsledek ulož do nového objektuhomegames. - 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 sloupecwin_lossz dathomegames, nastavwidthna20a argumentFUNnamean. Výsledek ulož do objektuhomegamesjakowin_loss_20. - Podobným voláním
rollapply()vypočítej klouzavý průměr výher a proher za100zápasů. Výsledek ulož do objektuhomegamesjakowin_loss_100. - Pomocí
plot.zoo()vizualizuj oba ukazatele. Nezapomeň vybrat sloupcewin_loss_20awin_loss_100a nastav argumentplot.typena"single", aby se oba zobrazily ve stejném panelu. Argumentyltyalwdnech 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)