【问题标题】:Merging XTS objects [closed]合并 XTS 对象
【发布时间】:2015-01-21 19:44:30
【问题描述】:

我有 5 个 XTS 对象。每个都包含一个单独的可变回报(各种资产类别,例如股票、债券、对冲基金等......)我遇到的问题是每个对象的日期顺序不准确。某些单个对象缺少某些日期。一般是2004年7月至2014年12月的每日数据,但股票收益XTS对象中有些日期债券收益XTS对象中不存在,反之亦然。

如何合并 5 个 XTS 对象,以便生成的对象按顺序包含所有日期,就像它们当前一样,并为任何缺少该特定日期观察的返回系列简单地生成“NA”?

我一直在尝试合并,重新分类为 data.frame 并进行 cbind,但似乎没有任何效果。我可以做些什么来合并所有 5 个对象并为没有观察到其他系列的系列的缺失返回生成 NA?

感谢您提供的任何帮助。

【问题讨论】:

  • 如果您提供reproducible example 会更容易提供帮助。
  • 你描述的是merge.xts默认做的,所以我不确定是什么问题。
  • 谢谢 Joshua - merge.xts 正是我所需要的。
  • Reduce(merge, list(A, B, C, D, E)) ...其中 A-E 是 xts 对象

标签: r merge xts


【解决方案1】:

我认为您正在寻找这样的东西?:

 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

希望这能让你朝着正确的方向前进......

【讨论】:

  • 这就是我想做的,但要合并 5 个 XTS 对象。感谢@joshua-ulrich 的“merge.xts”建议。我只是忽略了“.xts”的可用性,就像“merge.zoo ...”一样,我的错。再次感谢约书亚!
猜你喜欢
  • 2012-08-15
  • 2017-09-16
  • 2014-05-07
  • 2012-08-31
  • 2012-08-19
  • 2020-11-06
  • 2017-12-08
  • 1970-01-01
  • 2021-11-23
相关资源
最近更新 更多