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

Заполнение пропущенных значений по торговым дням

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

Вы будете применять парадигму split-lapply-rbind из курса Introduction to xts and zoo. Для справки шаблон приведён ниже.

x_split <- split(x, f = "months")
x_list <- lapply(x_split, cummax)
x_list_rbind <- do.call(rbind, x_list)

Напомним, что синтаксис do.call(rbind, ...) позволяет передать список объектов в rbind(), не перечисляя все их имена вручную.

В вашем рабочем пространстве есть объект trade_day, содержащий регулярный ряд из предыдущего упражнения, но без заполненных значений NA.

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

Импорт и управление финансовыми данными в R

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

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

  • Создайте объект daily_list, используя функцию split(), чтобы разбить данные trade_day на список, где каждый элемент соответствует одному дню.
  • Примените lapply(), чтобы заполнить значения NA в данных каждого дня из списка daily_list.
  • Наконец, используйте do.call() и rbind(), чтобы преобразовать daily_filled в единый объект xts с именем filled_by_trade_day.

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

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

# Split trade_day into days
daily_list <- split(___ , f = "___")

# Use lapply to call na.locf for each day in daily_list
daily_filled <- lapply(___, FUN = ___)

# Use do.call to rbind the results
filled_by_trade_day <- do.call(rbind, ___)
Редактировать и запускать код