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

Добавление дискретной скользящей суммы к данным ВВП

Знать величину изменения от одного периода к другому полезно, однако иногда важнее понимать суммарное изменение с начала года. Для построения такого показателя можно воспользоваться паттерном split-lapply-rbind. Этот подход аналогичен тому, что применялся для расчёта средних месячных температур в предыдущей главе.

В этом упражнении вы вернётесь к данным gdp, с которыми работали ранее в этой главе. Помимо статических значений ВВП за каждый квартал, вам нужно вычислить изменение ВВП от квартала к кварталу (с помощью diff()), а также скользящую сумму накопленного изменения ВВП с начала года (с помощью split(), lapply() и rbind()).

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

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

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

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

  • Используйте diff(), чтобы вычислить простое квартальное изменение gdp. Обязательно укажите столбец gdp и задайте lag равным 1 периоду (в данном случае — 1 квартал). Сохраните результат в объект gdp как quarterly_diff.
  • Теперь, когда у вас есть мера квартального изменения ВВП, разбейте данные quarterly_diff по годам с помощью split(). В вызове split() укажите столбец quarterly_diff объекта gdp и задайте аргумент f равным "years" (в кавычках).
  • Примените lapply() к полученным разбитым данным. Чтобы вычислить накопленную сумму в каждом году, задайте аргумент FUN равным cumsum (без кавычек).
  • Используйте do.call(), чтобы объединить данные gdpchange_ytd обратно в объект xts с помощью rbind().
  • Наконец, используйте plot.xts(), чтобы визуализировать накопленное с начала года изменение ВВП (gdpchange_xts).

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

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

# Add a quarterly difference in gdp
gdp$quarterly_diff <- diff(___$___, lag = ___, differences = ___)

# Split gdp$quarterly_diff into years
gdpchange_years <- split(___$___, f = "___")

# Use lapply to calculate the cumsum each year
gdpchange_ytd <- lapply(___, FUN = ___)

# Use do.call to rbind the results
gdpchange_xts <- do.call(rbind, ___)

# Plot cumulative year-to-date change in GDP
plot.xts(___, type = "h")
Редактировать и запускать код