R:merge.xts常用列

时间:2012-01-05 21:00:45

标签: r merge xts

在调用merge.xts之后,我生成的时间序列对象有3列,名为A.1,B.1,C.1。原始xts对象都设置了A,B,C列。我假设根据文档在所有公共列上执行了合并。

我检查了列内容A,B,C和A.1,B.1,C.1。对my.merged[my.merged$A.1 != my.merged$A, ]的调用不会为所有这些列返回任何行。

为什么公共列没有在一组中折叠?

2 个答案:

答案 0 :(得分:4)

?merge.xts非常明确地说它是“用于通过 time (索引)对'xts'对象执行合并操作。”没有任何地方说合并是在公共列上完成的。你可能在?merge中读到了这个,参考了data.frame方法。

答案 1 :(得分:2)

我认为您可能想要的是rbind,而不是merge。我在http://darrendev.blogspot.jp/2012/08/small-rxts-code-snippets-and-tips.html上通过示例数据对此进行了博客(参见第6a和6b项)。

如果您正在合并的两个xts对象中都有相同的时间戳,那么您将获得重复的行。因此,为了获得所需的结果,您可以删除重复项作为后处理步骤。