3

多数の時系列 (列; 共通の日付列 (インデックス) を保持する xts オブジェクトを分割しようとしています。指定された日付 (「2010-09-30」など) の値で各列を分割したい. これは、その日付の各列の値が 1 になるようにオブジェクト全体を再スケーリングするためです (一般的なAリベースタスク)。A[6,]私はちょうどすることができました

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

そしてそれはうまくいきます。ただし、xts オブジェクトとその行サブセットを操作しようxts['2010-09-30']としても、簡単には機能しません。誰かが私を正しい方向に向けてください。これは非常に基本的なことであり、自分で答えを見つけたはずです。実際、パッケージを使用してこのように時系列をリベースする一般的なより良い方法があれば、喜んでその方法を採用します。

4

1 に答える 1

3

xts および Zoo オブジェクトは、操作前にインデックスによって整列されます。オブジェクト全体を 1 つの行の値で除算する場合は、coredata(およびおそらくdrop) を使用して、値をアトミック ベクトル (要素が 1 つだけ) に取得する必要があります。

例えば:

library(xts)
x <- xts(1:10,as.Date("2011-12-21")+1:10)
x / drop(coredata(x['2011-12-26']))
于 2011-12-21T19:23:44.840 に答える