我有5个XTS对象。每个包含一个单独的变量返回(各种资产类别,例如股票,债券,对冲基金等......)我遇到的问题是每个对象的日期顺序并不准确。某些单个对象缺少某些日期。一般来说,数据是从2004年7月到2014年12月每天,但是股票回报的XTS对象中有一些日期在债券回报的XTS对象中不存在,反之亦然。
如何合并5个XTS对象,以便生成的对象按顺序包含所有日期,并且只为当前日期缺少观察的任何返回系列生成“NA”?
我一直在尝试合并,重新分类为data.frame并执行cbind,但似乎没有任何效果。我可以做些什么来合并所有5个对象,并为没有其他系列所做观察的系列的缺失回报生成NA?
感谢您提供的任何帮助。
答案 0 :(得分:3)
我认为你在找这样的东西?:
library(xts)
a <- xts(order.by = Sys.Date()-1:10,(1:10))
b <- xts(order.by = Sys.Date()-5:15,(10:20))
merge(a,b,all=TRUE)
给出:
a b
2015-01-06 NA 20
2015-01-07 NA 19
2015-01-08 NA 18
2015-01-09 NA 17
2015-01-10 NA 16
2015-01-11 10 15
2015-01-12 9 14
2015-01-13 8 13
2015-01-14 7 12
2015-01-15 6 11
2015-01-16 5 10
2015-01-17 4 NA
2015-01-18 3 NA
2015-01-19 2 NA
2015-01-20 1 NA
希望能让你朝着正确的方向前进......