Calcula una media móvil para todos los deportes
Ahora que dominas cómo filtrar tus datos para incluir solo los partidos del fin de semana, a tu cliente le gustaría que pruebes un enfoque distinto. Es posible que la industria turística de Boston reciba un impulso cuando los equipos locales ganan más partidos en casa.
En lugar de centrarte en los partidos del fin de semana, tu tarea es generar una media móvil de victorias/derrotas enfocada en los partidos jugados en Boston. Para obtener este indicador, volverás al comando rollapply() que usaste antes, esta vez aplicando el cálculo a todos los equipos del área de Boston pero filtrando para incluir solo los partidos jugados en casa.
Este ejercicio forma parte del curso
Estudio de caso: Análisis de series temporales de una ciudad en R
Instrucciones del ejercicio
- Filtra tus datos de
sportspara incluir solo los partidos jugados en Boston (homegame = 1) usando el formatodata[column == x]. Guarda este nuevo objeto comohomegames. - Usa
rollapply()para calcular la media de victorias/derrotas de los últimos 20 partidos en casa de los equipos de Boston. Tendrás que especificar la columnawin_lossde tus datoshomegames, establecerwidthen20y el argumentoFUNenmean. Guarda este indicador en tu objetohomegamescomowin_loss_20. - Usa una llamada similar a
rollapply()para calcular una media móvil de victorias/derrotas de100partidos. Guarda este indicador en tu objetohomegamescomowin_loss_100. - Usa
plot.zoo()para visualizar ambos indicadores. Asegúrate de seleccionar las columnaswin_loss_20ywin_loss_100y configura el argumentoplot.typecomo"single"para ver ambos en el mismo panel. Deja los argumentosltyylwdtal como están.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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)