Calcolare una media mobile su tutti gli sport
Ora che hai imparato a sotto-selezionare i dati per includere solo le partite del weekend, il tuo cliente vorrebbe provare un'altra strada. Forse il turismo a Boston riceve una spinta quando le squadre locali vincono più partite in casa.
Invece di concentrarti sulle partite del weekend, ti viene chiesto di generare una media mobile vittorie/sconfitte focalizzata sulle partite giocate a Boston. Per produrre questo indicatore, tornerai al comando rollapply() usato sopra, questa volta applicando il calcolo a tutte le squadre dell’area di Boston ma selezionando solo le partite giocate in casa.
Questo esercizio fa parte del corso
Caso di studio: analisi di serie temporali cittadine in R
Istruzioni dell'esercizio
- Sotto-seleziona i tuoi dati
sportsper includere solo le partite giocate a Boston (homegame = 1) usando il formatodata[column == x]. Salva questo nuovo oggetto comehomegames. - Usa
rollapply()per calcolare la media vittorie/sconfitte delle ultime 20 partite in casa delle squadre di Boston. Dovrai specificare la colonnawin_lossdei datihomegames, impostarewidtha20e l’argomentoFUNamean. Salva questo indicatore nell’oggettohomegamescomewin_loss_20. - Usa una chiamata simile a
rollapply()per calcolare una media mobile su100partite di vittorie/sconfitte. Salva questo indicatore nell’oggettohomegamescomewin_loss_100. - Usa
plot.zoo()per visualizzare entrambi gli indicatori. Assicurati di selezionare le colonnewin_loss_20ewin_loss_100e imposta l’argomentoplot.typesu"single"per vederli nello stesso pannello. Lascia gli argomentiltyelwdcosì come sono.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)