【发布时间】:2017-04-05 07:27:59
【问题描述】:
我正在尝试通过添加缺失日期的先前值来将季度数据转换为每日数据。该数据由不同股票的财务比率组成。我的数据有一个由两列构建的行标签:股票代码和日期。由于我对每只股票都有重复的日期,我不确定如何忽略股票代码并用以前的值重新填充缺失的日期。
到目前为止,小样本数据如下所示:
> df_new
de eps pe ps pb
APD 2015-09-30 1.373 1.6 21.463 2.772 3.784
APD 2015-12-31 1.325 1.68 21.284 2.893 3.805
APD 2016-03-31 1.411 -2.19 56.114 3.254 4.491
SWKS 2003-03-31 0.402 -0.04 <NA> <NA> <NA>
SWKS 2003-06-30 0.397 -0.04 -2.289 1.518 0.929
SWKS 2003-09-30 0.62 -0.29 -2.799 2.046 1.877
SWKS 2003-12-31 0.643 0.03 -25.426 2.045 1.905
SWKS 2004-03-31 0.657 -0.06 -32.004 2.641 2.579
SWKS 2004-06-30 0.584 0.09 -37.18 1.825 1.782
SWKS 2004-09-30 0.555 0.1 65.806 1.881 1.962
SWKS 2004-12-31 0.525 0.09 45.823 1.777 1.912
我希望它看起来像这样(如果是每周):
> df_new
de eps pe ps pb
APD 2015-09-30 1.373 1.6 21.463 2.772 3.784
APD 2015-10-01 1.373 1.6 21.463 2.772 3.784
APD 2015-10-02 1.373 1.6 21.463 2.772 3.784
APD 2015-10-03 1.373 1.6 21.463 2.772 3.784
...
APD 2015-12-31 1.325 1.68 21.284 2.893 3.805
APD 2016-01-01 1.325 1.68 21.284 2.893 3.805
APD 2016-01-02 1.325 1.68 21.284 2.893 3.805
APD 2016-01-03 1.325 1.68 21.284 2.893 3.805
...
APD 2016-03-31 1.411 -2.19 56.114 3.254 4.491
APD 2016-04-01 1.411 -2.19 56.114 3.254 4.491
APD 2016-04-02 1.411 -2.19 56.114 3.254 4.491
APD 2016-04-03 1.411 -2.19 56.114 3.254 4.491
...
SWKS 2003-03-31 0.402 -0.04 <NA> <NA> <NA>
SWKS 2003-04-01 0.402 -0.04 <NA> <NA> <NA>
SWKS 2003-04-02 0.402 -0.04 <NA> <NA> <NA>
SWKS 2003-04-03 0.402 -0.04 <NA> <NA> <NA>
...
SWKS 2003-06-30 0.397 -0.04 -2.289 1.518 0.929
and so on...
我搜索了答案,这个链接:Add missing xts/zoo data with linear interpolation in R 有点接近我想要的。虽然我不确定如何处理股票代码。
非常感谢您的帮助!
【问题讨论】:
标签: r time-series xts zoo