Замена пропущенных данных — 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