2011-12-21 69 views
3

我想分裂一個xts對象,其中包含一些時間序列(列;與普通的日期列(索引)。我想劃分每個列在特定日期(例如'2010-09-30')的值,這樣可以在整個對象的每個列中重新調整整個對象的值(共同的基礎任務)。這是一個普通的矩陣,A,我想變基到該行是說A[6,],我只是做xts或動物園時間系列對象的每一行由一個固定的行劃分

t(t(A)/A[6,]) 

和工作的。但是,試圖操縱XTS對象和它的行子集xts['2010-09-30']沒有按」工作起來很簡單,有人可以指點我的鑽機方向。我意識到這是非常基本的,我應該自己找到答案。事實上,如果有一種更好的方法來以這種方式使用一個包來重新組織時間序列,我很樂意採用這種方法。

回答

2

xt和zoo對象在操作之前按索引對齊。如果你想用一行中的值來劃分整個對象,你必須使用coredata(或者drop)來獲取原子向量的值(只有一個元素)。

例如:

library(xts) 
x <- xts(1:10,as.Date("2011-12-21")+1:10) 
x/drop(coredata(x['2011-12-26'])) 
+0

非常感謝@Joshua如常。我現在試試這個。順便說一句,關於我使用quantmod進行數據合併操作的查詢的任何建議?如果這是一個真正的問題,我會在其他方向看....我只是想確保它不是我的初學者錯誤.... – Tatha 2011-12-21 19:30:04

+0

絕對奏效!再次感謝。我最近用了很多coredata ....不知道我是怎麼忘記的...... :) – Tatha 2011-12-21 19:37:46

相關問題