НачатьНачать бесплатно

Вычисление скользящего среднего по всем видам спорта

Освоив выборку данных только по играм выходного дня, вы переходите к другому подходу по просьбе клиента. Возможно, туристическая отрасль Бостона получает толчок к развитию, когда местные спортивные команды побеждают чаще именно дома.

Вместо того чтобы сосредоточиться на играх выходного дня, вам предстоит вычислить скользящее среднее побед и поражений для игр, сыгранных в Бостоне. Для этого вы снова воспользуетесь командой rollapply(), применив расчёт ко всем бостонским спортивным командам, но ограничив выборку только домашними играми.

Это упражнение является частью курса

Практический пример: анализ городских временных рядов в R

Посмотреть курс

Инструкции к упражнению

  • Отфильтруйте данные sports, оставив только игры, сыгранные в Бостоне (homegame = 1), с помощью формата data[column == x]. Сохраните новый объект под именем homegames.
  • Используйте rollapply(), чтобы вычислить среднее значение побед и поражений за последние 20 домашних игр бостонских спортивных команд. Укажите столбец win_loss из данных homegames, задайте width равным 20, а аргумент FUN — значению mean. Сохраните этот показатель в объекте homegames под именем win_loss_20.
  • Аналогичным образом вызовите rollapply(), чтобы вычислить скользящее среднее побед и поражений за 100 игр. Сохраните этот показатель в объекте homegames под именем win_loss_100.
  • Используйте plot.zoo() для визуализации обоих показателей. Обязательно выберите столбцы win_loss_20 и win_loss_100 и задайте аргументу plot.type значение "single", чтобы отобразить оба показателя на одном графике. Аргументы lty и lwd оставьте без изменений.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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)
Редактировать и запускать код