合并了很多xts对象

时间:2017-04-20 06:41:18

标签: r xts

我有一些' xts'对象,差不多600,我想将它们合并到一个< xts'对象。

这些对象的名称类似于mfi0,mfi1,mfi2,.... 我可以为一些对象编写merge命令,例如

a<-merge(mfi0,mfi1,mfi2) 

但我的问题是我无法为600个对象写looplapply,包含字符串&#34; mfi&#34;还有一个数字,我试过paste但是无法写。

2 个答案:

答案 0 :(得分:2)

这些物品来自哪里?最好在生成过程中使用列表而不是600个单独的变量。因此,您应该mfi0mfi1,...,mfi600而不是mfi[1]mfi[2],...,mfi[600]

拥有所有数据有助于处理它。现在,使用自己的merge 命令可以更加简化合并过程:

merged_mfi <- do.call(merge, mfi)

或者使用仅处理两个对象的合并命令(即data.frames的R合并):

merged_mfi <- Reduce(merge, mfi[2:length(mfi)], mfi[1])

答案 1 :(得分:0)

将所有xts对象放在列表list.xts中。在您的情况下,它将是600个元素的列表,每个元素都是一个xts对象。然后,您可以简单地使用

a = Reduce(f=merge.xts, list.xts)