Вычисление скользящего среднего по всем видам спорта
Освоив выборку данных только по играм выходного дня, вы переходите к другому подходу по просьбе клиента. Возможно, туристическая отрасль Бостона получает толчок к развитию, когда местные спортивные команды побеждают чаще именно дома.
Вместо того чтобы сосредоточиться на играх выходного дня, вам предстоит вычислить скользящее среднее побед и поражений для игр, сыгранных в Бостоне. Для этого вы снова воспользуетесь командой 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)