2012-05-15 60 views
1

我不明白为什么拆分应用于xts给出了一个列表清单。它应该返回xts对象。有什么我失踪?xts中的拆分功能

data(sample_matrix) 
x <- as.xts(sample_matrix) 
spl<-split(x, f="days") 
class(spl) 
[1] "list" 
class(spl[1]) 
[1] "list" 
class(x) 
[1] "xts" "zoo" 

编辑:我想重建XTS,以拆分为天后计算一个新的领域我。问题是现在我的计算是在“分割”格式,即在列表中。我怎样才能从列表中“重建”一个xts?

回答

3

尝试

> class(spl[[1]]) 
[1] "xts" "zoo" 

split(x, 'days')创建xts对象的列表。 [[运算符用于从列表中提取元素。

编辑解决您的编辑:

do.call(rbind, spl) 

(如果没有意义,然后提供一个可重复的例子)

+0

正是我需要的!非常感谢。只是要知道:do.call本质上是一个循环?它是优化吗? – Mitch76

+0

do.call有一个帮助页面。键入'?do.call'。它将函数作为其第一个参数并为该函数提供参数列表。因此,在这个例子中,就像调用rbind(spl [[1]],spl [[2]],spl [[3]],...) – GSee

+1

@ Mitch76:如果我回答了你的问题,请“接受“它。谢谢。 – GSee