2012-02-28 44 views
1

我有一個xt數字矩陣,其中包含多天的分鐘區間系列。我需要計算分鐘期間每天的統計數據,添加新列,然後將所有日期系列重新組合在一起。R:修改每天系列的xts矩陣

我已經嘗試apply.daily(),每天調用我的統計函數與xts矩陣,但我無法計算如何返回修改的日期系列回調用函數並重新組裝全套的修改數據。

可以工作的一種解決方案是在循環中使用端點(x,on =「day」),然後調用rbind重新組合處理的日期幀。有更好的解決方案嗎?

process = function(myxts) { 
    day.indexes = endpoints(myxts, on="days") 
    days = length(day.indexes) - 1 

    l = list() 
    list.index = 1 

    for(i in 1:days) { 
    day.begin = day.indexes[i] + 1 
    day.end = day.indexes[i+1] 
    l[[list.index]] = ets.sym.process.daily(myxts[day.begin:day.end]) 
    list.index = list.index + 1 
    } 

    return(do.call("rbind", l)) 
} 
+0

問題是您現在有一組您想要合併到您的分鐘數據的日常數據(例如,2012-02-28上的所有分鐘數據都會從您的日常數據中獲取2012-02-28的數值等)?如果是這樣,請參閱http://stackoverflow.com/questions/8971797/r-merge-daily-data-with-tick-data/8981517#8981517(基本上:'merge',然後'na.locf') – 2012-02-29 05:08:25

回答

1

您應該可以使用do.call(rbind, lapply(split(myxts,"days"), myfun))的某種組合。沒有可重複的例子,很難更具體。