ComeçarComece de graça

Calcular uma média móvel em todos os esportes

Agora que você dominou o subconjunto dos dados para incluir apenas jogos de fim de semana, seu cliente quer que você siga uma abordagem diferente. Talvez o setor de turismo de Boston receba um impulso quando os times locais vencem mais jogos em casa.

Em vez de focar nos jogos de fim de semana, sua tarefa é gerar uma média móvel de vitórias/derrotas focada nos jogos disputados em Boston. Para produzir esse indicador, você voltará ao comando rollapply() usado acima, desta vez aplicando o cálculo a todos os times da região de Boston, mas filtrando para incluir apenas os jogos em casa.

Este exercício faz parte do curso

Estudo de Caso: Analisando Séries Temporais de Cidades em R

Ver curso

Instruções do exercício

  • Faça um subconjunto dos seus dados sports para incluir apenas jogos disputados em Boston (homegame = 1) usando o formato data[column == x]. Salve esse novo objeto como homegames.
  • Use rollapply() para calcular a média de vitórias/derrotas dos últimos 20 jogos em casa dos times de Boston. Você precisará especificar a coluna win_loss do seu objeto homegames, definir width como 20 e definir o argumento FUN como mean. Salve esse indicador no objeto homegames como win_loss_20.
  • Use uma chamada semelhante a rollapply() para calcular uma média móvel de vitórias/derrotas de 100 jogos. Salve esse indicador no objeto homegames como win_loss_100.
  • Use plot.zoo() para visualizar os dois indicadores. Lembre-se de selecionar as colunas win_loss_20 e win_loss_100 e definir o argumento plot.type como "single" para ver ambos no mesmo painel. Deixe os argumentos lty e lwd como estão.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código