2011-12-21 4 views
3

複数の時系列(列;共通の日付列(インデックス)を持つ)を保持するxtsオブジェクトを分割しようとしています。 (例えば '2010-09-30')これは、その日付に各列の値が1であるオブジェクト全体を再スケーリングするためのものです(共通の再基底タスク)。それは普通の行列、Aして、そして私がリベースしたい行がA[6,]を言った、「私はちょうどxtsまたはzooの時系列オブジェクトの各行を固定行で分割する

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

を行うことができ、それが動作します。しかし、XTSのオブジェクトを操作しようとすると、その行のサブセットxts['2010-09-30']はdoesnの誰かがリグで私を指差してくれましたか? ht方向。私はこれがとても基本的であることを認識しており、私は自分自身で答えを見つけたはずです。実際に、パッケージを使用してこのように時系列をリベースするより良い方法が一般的であれば、私はそのアプローチを採用してうれしいです。

答えて

2

xtsとzooオブジェクトは、操作の前にインデックスによって整列されます。単一の行の値でオブジェクト全体を分割する場合は、アトミックベクトル(1つの要素のみ)に値を取得するには、coredata(および多分drop)を使用する必要があります。例えば

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

多くのおかげでいつものように@Joshua。私は今これを試してみましょう。 BTW、昨日私のクエリの任意の提案は、そのデータマージ操作を使用してquantmod?それが本当の問題なら、私は他の方向を見ていきます....私はちょうど私の部分の初心者のエラーではないことを確認したい... – Tatha

+0

絶対に働いた!再度、感謝します。私は最近多くのcoredataを使用していた....私はそれを忘れてどのように知っていない... :) – Tatha

関連する問題