Calculează o medie mobilă pentru toate sporturile
Acum că ai stăpânit subsetarea datelor pentru a include doar meciurile de weekend, clientul tău îți propune o abordare diferită. Poate că industria turismului din Boston primește un impuls atunci când echipele locale câștigă mai multe meciuri acasă.
În loc să te concentrezi pe meciurile de weekend, sarcina ta este să generezi o medie mobilă a victoriilor/înfrângerilor, axată pe meciurile disputate la Boston. Pentru a crea acest indicator, vei reveni la comanda rollapply() folosită anterior, aplicând calculul tuturor echipelor sportive din zona Boston, dar subsetând datele pentru a include doar meciurile jucate acasă.
Acest exercițiu face parte din cursul
Studiu de caz: Analiza seriilor de timp pentru un oraș în R
Instrucțiuni pentru exercițiu
- Subsetează datele
sportspentru a include doar meciurile jucate la Boston (homegame = 1), folosind formatuldata[column == x]. Salvează noul obiect cu numelehomegames. - Folosește
rollapply()pentru a calcula media victoriilor/înfrângerilor din ultimele 20 de meciuri acasă ale echipelor din Boston. Va trebui să specifici coloanawin_lossdin datelehomegames, să seteziwidthla20și argumentulFUNlamean. Salvează acest indicator în obiectulhomegamessub numelewin_loss_20. - Folosește un apel similar la
rollapply()pentru a calcula media mobilă a victoriilor/înfrângerilor pe100de meciuri. Salvează acest indicator în obiectulhomegamessub numelewin_loss_100. - Folosește
plot.zoo()pentru a vizualiza ambii indicatori. Asigură-te că selectezi coloanelewin_loss_20șiwin_loss_100și setează argumentulplot.typela"single"pentru a le vedea în același panou. Lasă argumenteleltyșilwdașa cum sunt.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)