質問
私は物事の提案方法のようだとして、私の時系列作業にできるだけXTSを使用しようとしています。しかし、私は奇妙なエラーになっています。
CPI.NSAとINTはXTSオブジェクトです。
library(dynlm)
CPI.NSA.x <- CPI.NSA[dr1]
INT.x <- INT[dr1]
CPI.NSA.z <- as.zoo(CPI.NSA.x)
INT.z <- as.zoo(INT.x)
> dynlm(CPI.NSA.z ~ INT.z + L(CPI.NSA.z, 1))
Time series regression with "zoo" data:
Start = 1953-02-01, End = 1971-06-01
Call:
dynlm(formula = CPI.NSA.z ~ INT.z + L(CPI.NSA.z, 1))
Coefficients:
(Intercept) INT.z L(CPI.NSA.z, 1)
-0.0006795 1.0440174 -0.0869050
> dynlm(CPI.NSA.x ~ INT.x + L(CPI.NSA.x, 1))
Error in `[.xts`(a, match0(indexes, attr(a, "index")), , drop = FALSE) :
i is out of range
これは私が動物園を取る機能を持っている時はいつでも、私はそれをXTSを渡すことができますし、それだけで動作するはずというのが私の理解だったが、明らかにここに当てはまらないこと。
が起こっているのか?
助けてくれてありがとう。
解決
あなたが言う
これは、私が理解したときはいつでも 私は、私は、動物園を取る機能を持っています それをXTSを渡すと、それだけでするべきことができます 仕事、しかしはっきりことはそうではありません ここます。
あなたはzoo
とxts
が同一であることを思えば、私は疑問に思って。そうではありません - xts
は(zoo
用としてではなく、任意のインデックス)は、実際の時刻または日付オブジェクトにインデックス・タイプを制限する価格で有用な方法でzoo
を拡張します。
呼び出すときに(dynlm
、例えば、経由)zoo
に渡し、その後xts
であなたのデータを保持することはできませんが、私はなぜ表示されないよう今、zoo
はas.zoo(foo)
の著者の一人であるアヒムZeileisによって書かれていますdynlm
機能ます。
魔法「ダウンキャスト」はありません。しかし、あなたは手でそれを行うことができます。これは、あなたの質問の最初の部分で何をしているかです。 OK?
他のヒント
簡単な答えは、時には彼らであるが、動物園とXTSは、完全に互換性がないということです。
これは、彼らが互換性はありません時間の本当に良い例です。
所属していません StackOverflow