2012-05-15 90 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