2017-03-07 12 views
0

以下を考慮してください。サブセット化時にxtsオブジェクトがxtsクラスを失う

[1] "xts" "zoo" 

が、第三の結果:

[1] "zoo" 

なぜ

junk1.xts <- xts(c(0:10), as.yearqtr("1975 Q1") + 0.25*(0:10)) 
junk2.xts <- xts(c(30:0), as.yearqtr("1970 Q1") + 0.25*(0:30)) 
junk2a.xts <- junk2.xts[index(junk1.xts),] 
class(junk1.xts) 
class(junk2.xts) 
class(junk2a.xts) 

最初の2つのクラスステートメントがもたらしますか?これは正常なのかバグですか?それを防止し、3番目のオブジェクトのxtsクラスを保持する最良の方法は何ですか?

+2

xts 0.10-0 – FXQuantTrader

答えて

0

問題が見つかりました。私は、Hmiscの後にモデル化されたラベリング機能をxtsオブジェクトに追加しようとしています。その際、私は[.xtsの関数を定義していました。それは当初は機能しましたが、効率を少し変えました。そのうちの1人が機能を破った。

ご迷惑をおかけします。

+0

でこの異常な動作は観察されません。ご使用のケースを知りたいと思っています。 '[.xts'を上書きしないであなたが望むことをする方法があるかもしれません。存在しない場合でも、xtsの "x"は "拡張可能"を表します。だから、xtsをサブクラス化して、あなたが望むことをするために '[.xts'関数をオーバーライドするだけです。 –

+0

私は、時系列の分析を含む研究プロジェクトを立ち上げています。時系列のいくつかのタイプ(マクロ経済集計、価格指数など)が異種のソースから提供されています。変数を追跡するために、ラベルと単位をオブジェクトレベルと変数レベルの両方でxtsオブジェクトに組み込みます。すべてがxtsAttributesとして格納されます。オブジェクトレベルでは、xtsオブジェクト全体に適用されるスカラの "label"と "units"項目が含まれています。変数レベルでは、変数名(var.labels)と単位(unit.labels)のリストが含まれます。 – Gnosos

関連する問題