2014-11-03 24 views
-1

我是R新手,想弄清楚如何操作具有沿行和列的日期的數據。在行和列上使用時間序列處理數據

基本上,我有一個日期的數據對象,比如說2014-10-31。這個對象包含期貨結算價在幾個月前進:

Date  2014-10-31 
2014-11-01  90.54 
2014-12-01  90.32 
2015-01-01  90.68 
2015-02-01  91.48 
2015-03-01  91.03 

這將存在一年每個工作日。現在,我想類似這樣的東西:

Date  2014-10-28 2014-10-29 2014-10-30 2014-10-31 ... 
2014-11-01  90.54  90.53  90.57  90.54 ... 
2014-12-01  90.21  90.23  90.75  90.32 ... 
2015-01-01  90.70  90.45  90.65  90.68 ... 
2015-02-01  91.48  91.56  91.53  91.48 ... 
2015-03-01  91.02  91.03  91.01  91.03 ... 

目前,R I它作爲一個列表,每一天都當作動物園的對象,與結算日期作爲名稱。我知道必須有更好的方法來處理這個問題。數據框架是更好的方法,還是有任何包裝可以使這更容易?

我的最終目標是,例如,能夠找到十月份的平均十一月價格。所以我需要得到所有10月份的專欄,並平均11月的所有價格。任何幫助,將不勝感激。

回答

2

如果你有這樣的動物園對象的列表:

L <- structure(list(X2014.10.28 = structure(c(90.54, 90.21, 90.7, 
91.48, 91.02), index = structure(c(16375, 16405, 16436, 16467, 
16495), class = "Date"), class = "zoo"), X2014.10.29 = structure(c(90.53, 
90.23, 90.45, 91.56, 91.03), index = structure(c(16375, 16405, 
16436, 16467, 16495), class = "Date"), class = "zoo"), 
X2014.10.30 = structure(c(90.57, 
90.75, 90.65, 91.53, 91.01), index = structure(c(16375, 16405, 
16436, 16467, 16495), class = "Date"), class = "zoo"), 
X2014.10.31 = structure(c(90.54, 
90.32, 90.68, 91.48, 91.03), index = structure(c(16375, 16405, 
16436, 16467, 16495), class = "Date"), class = "zoo")), .Names = c("X2014.10.28", 
"X2014.10.29", "X2014.10.30", "X2014.10.31")) 

然後用cbind合併在一起成爲一個單一的動物園對象:

z <- do.call(cbind, L) 

,並提供:

> class(z) 
[1] "zoo" 
> z 
      X2014.10.28 X2014.10.29 X2014.10.30 X2014.10.31 
2014-11-01  90.54  90.53  90.57  90.54 
2014-12-01  90.21  90.23  90.75  90.32 
2015-01-01  90.70  90.45  90.65  90.68 
2015-02-01  91.48  91.56  91.53  91.48 
2015-03-01  91.02  91.03  91.01  91.03 
+0

不。它的類'「動物園」''。我已經添加了相關的輸出。 – 2014-11-03 20:40:53

+0

好吧,現在它是'動物園' – Vlo 2014-11-03 20:43:15

+0

它也是動物園。除了輸出課程外,我沒有改變任何內容。 – 2014-11-03 20:43:51

相關問題