2011-12-21 49 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

相关问题