按交易日填充缺失值
上一个练习把前一日的最后一个观测值延续到下一日的第一个观测值。本练习将向您展示如何按交易日填充缺失值,而不使用前一日的最终值。
您将复用 Introduction to xts and zoo 课程中的 split-lapply-rbind 范式。供参考,模式如下所示。
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 中导入与管理金融数据
练习说明
- 使用
split()将trade_day数据按天分组为列表,创建daily_list对象。 - 现在使用
lapply()为daily_list中每一天的数据填充NA。 - 最后,使用
do.call()和rbind()将daily_filled转换为单个名为filled_by_trade_day的 xts 对象。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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, ___)