我在R中有两个xts时间序列,并且想要计算彼此最接近的时间序列值之间的差异。也就是说,如果我的两个指数是:
[1] (10/10/05 13:00:00) (10/10/05 14:00:00) (10/10/05 14:23:00)
和
[1] (10/10/05 12:38:00) (10/10/05 12:53:00) (10/10/05 12:59:00) (10/10/05 13:08:00) (10/10/05 13:23:00)
[6] (10/10/05 13:38:00) (10/10/05 13:53:00) (10/10/05 14:23:00) (10/10/05 15:05:00) (10/10/05 15:11:00)
我想计算以下值的差异:
我该怎么做?来自merge
和zoo
的标准all=FALSE
方法将无法执行我想要的操作,因为索引必须完全相等才能正确合并。
有什么想法吗?
答案 0 :(得分:1)
您没有提供可重现的示例,因此我无法为您提供具体的解决方案。通常,您可以使用align.time
将每个对象的索引值更改为相似的周期,或者您可以合并并使用na.locf
填充缺失的值。然后你可以在两个系列之间做任何你想要的操作。
答案 1 :(得分:0)
我正在考虑这样的事情:对于第一个系列的每个成员,你根据他们的时间索引将它插入第二个系列,然后计算插入的第一个系列成员的索引与之间的绝对差异。在第二个系列成员之前和之后,取得指数之间绝对差异最小的值之间的相应差异。