5

Windowsで最新バージョンのR/xts / zooを使用しています:R 2.15、xts 0.8-6、zoo 1.7-7

以前のバージョンではそうではなかった、次の奇妙な動作が見られます。

library(xts)
data(sample_matrix)
sample.xts <- as.xts(sample_matrix)

sample.xts[1, 2] - sample.xts[2,2]     # results in numeric(0)?!?!?!
(sample.xts[ 1, 2] - sample.xts[2,2])/sample.xts[3,1]  # if I run this twice R locks up

ここでは、XTSオブジェクトを単一のセルにサブセット化しています。減算は機能しなくなりました。また、分割するとRが完全にロックアップします。

他の誰かがこれを見ますか?これは既知のバグですか、それとも何かが足りませんか?これは2台のマシンで再現できます。

セッション情報(機密情報として削除されたいくつかのパッケージ):

R version 2.15.0 (2012-03-30)
Platform: x86_64-pc-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                           LC_TIME=English_United States.1252    

attached base packages:
[1] parallel  stats     graphics  utils     datasets  grDevices methods   base     
4

1 に答える 1

2

インデックスが重複しないxts/zooオブジェクトを減算することはできません。算術演算は、演算を実行する前に常にマージされます。coredataあなたが書いた減算があなたが期待する結果を提供するために使う必要があります。

coredata(sample.xts[1,2]) - coredata(sample.xts[2,2])

2番目の問題を再現することはできますが、これがzoo / xtsイディオムに適合せず、完全に空のxtsオブジェクトになるため、これを修正する優先度が高いかどうかはわかりません。インデックス(の一部)が揃っていれば、すべて問題ありません。

(sample.xts[1,2] - sample.xts[1,3]) / sample.xts[1,4]
(sample.xts[2,2] - sample.xts[1:2,3]) / sample.xts[2:3,4]
于 2012-05-09T12:37:05.670 に答える