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

Замена пропущенных данных — I

Как вы обнаружили в предыдущем упражнении, в квартальных данных по ВВП не хватает нескольких наблюдений. Вызов summary() выявил целых 80 пропущенных значений!

Как вы могли помнить из первого курса по xts, пакеты xts и zoo предоставляют различные функции для работы с пропущенными данными.

Простейший способ — команда na.locf(), которая переносит последнее наблюдение перед пропуском вперёд (отсюда название: «last observation carried forward», или locf). Этот подход нередко оказывается наиболее уместным, особенно когда нужно консервативно оценивать изменения в данных.

Схожий подход работает в обратном направлении: первое наблюдение после пропуска переносится назад («next observation carried backward», или nocb). Это также реализуется через na.locf() — достаточно задать аргумент fromLast равным TRUE.

Выбор метода зависит от характера данных и ваших предположений о том, как они изменяются со временем.

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

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

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

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

  • Используйте na.locf(), чтобы заполнить пропущенные значения в gdp_xts на основе переноса последнего наблюдения вперёд. Сохраните новый объект xts как gdp_locf.
  • Снова вызовите na.locf(), чтобы заполнить пропущенные значения в gdp_xts на основе переноса следующего наблюдения назад. Для этого установите аргумент fromLast равным TRUE. Сохраните новый объект xts как gdp_nocb.
  • Постройте графики обоих объектов с помощью plot.xts(). Используйте готовую команду par(), чтобы отобразить оба графика вместе.
  • Запросите из каждого объекта (gdp_locf и gdp_nocb) значения ВВП за 1993 год.

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

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

# Fill NAs in gdp_xts with the last observation carried forward
gdp_locf <- 

# Fill NAs in gdp_xts with the next observation carried backward 
gdp_nocb <- 

# Produce a plot for each of your new xts objects
par(mfrow = c(2,1))
plot.xts(___, major.format = "%Y")
plot.xts(___, major.format = "%Y")

# Query for GDP in 1993 in both gdp_locf and gdp_nocb

Редактировать и запускать код