将序列对齐到每月第一天与最后一天
有时您可能无法使用 yearmon 等便捷类来表示时间戳。本练习将演示如何手动把合并后的数据对齐到您偏好的时间戳表示方式。
首先,将低频数据与聚合后的数据合并,然后使用 na.locf() 向前填充 NA(或使用 fromLast = TRUE 向后填充)。接着,您可以用带有目标表示形式的对象的索引,对结果进行子集筛选。
您的工作区包含 FEDFUNDS、monthly_fedfunds(apply.monthly(DFF, mean) 的结果)以及 merged_fedfunds(merge(FEDFUNDS, monthly_fedfunds) 的结果,其中 monthly_fedfunds 的索引是 Date)。请注意 merged_fedfunds 中的 NA 值。
本练习是课程的一部分
在 R 中导入与管理金融数据
练习说明
- 使用
na.locf()填充merged_fedfunds中的NA值。将结果赋给merged_fedfunds_locf。 - 通过
index(monthly_fedfunds)对merged_fedfunds_locf做子集筛选,创建一个以月末为时间戳的 xts 对象。将结果命名为aligned_last_day。 - 在
na.locf()中使用fromLast参数,用"下一条"观测填充NA值。将结果赋给merged_fedfunds_locb。 - 通过
index(FEDFUNDS)对merged_fedfunds_locb做子集筛选,创建一个以每月 1 日为时间戳的 xts 对象。将结果命名为aligned_first_day。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Fill NA forward
merged_fedfunds_locf <- ___(___)
# Extract index values containing last day of month
aligned_last_day <- merged_fedfunds_locf[___]
# Fill NA backward
merged_fedfunds_locb <- na.locf(___, fromLast = ___)
# Extract index values containing first day of month
aligned_first_day <- merged_fedfunds_locb[___]