ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Subsetează datele sports pentru a include doar meciurile jucate la Boston (homegame = 1), folosind formatul data[column == x]. Salvează noul obiect cu numele homegames.
  • Folosește rollapply() pentru a calcula media victoriilor/înfrângerilor din ultimele 20 de meciuri acasă ale echipelor din Boston. Va trebui să specifici coloana win_loss din datele homegames, să setezi width la 20 și argumentul FUN la mean. Salvează acest indicator în obiectul homegames sub numele win_loss_20.
  • Folosește un apel similar la rollapply() pentru a calcula media mobilă a victoriilor/înfrângerilor pe 100 de meciuri. Salvează acest indicator în obiectul homegames sub numele win_loss_100.
  • Folosește plot.zoo() pentru a vizualiza ambii indicatori. Asigură-te că selectezi coloanele win_loss_20 și win_loss_100 și setează argumentul plot.type la "single" pentru a le vedea în același panou. Lasă argumentele lty și lwd aș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)
Editează și rulează codul