ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Filtra tus datos de sports para incluir solo los partidos jugados en Boston (homegame = 1) usando el formato data[column == x]. Guarda este nuevo objeto como homegames.
  • 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 columna win_loss de tus datos homegames, establecer width en 20 y el argumento FUN en mean. Guarda este indicador en tu objeto homegames como win_loss_20.
  • Usa una llamada similar a rollapply() para calcular una media móvil de victorias/derrotas de 100 partidos. Guarda este indicador en tu objeto homegames como win_loss_100.
  • Usa plot.zoo() para visualizar ambos indicadores. Asegúrate de seleccionar las columnas win_loss_20 y win_loss_100 y configura el argumento plot.type como "single" para ver ambos en el mismo panel. Deja los argumentos lty y lwd tal 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)
Editar y ejecutar código