2017-06-09 10 views
1
library(vars) 
library(ggfortify) 
library(zoo) 
data(Canada, package = 'vars') 
Canada <- zoo(Canada) 
#autoplot.zoo works fine with zoo objects 
autoplot(Canada) 
d.var <- vars::VAR(Canada, p = 3, type = 'const') 
#however autoplot.varprd does not work with zoo objects 
autoplot(stats::predict(d.var, n.ahead = 50), conf.int = TRUE) 

これは私が上記の取得エラーですオブジェクトを作ることができます。どのように私は動物園とautoplot.varprd仕事は

autoplot(統計情報::(d.var、n.ahead = 50)を予測、CONFをget.dtindex.continuousで.INT = TRUE) エラー(モデル$モデル$ yを、長さ= nrow(fcst [[1]])、: はどのように日付に

をTSオブジェクトインデックスの変換に失敗しました。私はautoplot.varprdを動物園のオブジェクトで動作させ、日付を表示させますか?

私が動物園のオブジェクトから始め、それをtsに変換すると、autoplot.varprdは機能しますが、日付の代わりに数字が表示されます。

ありがとうございました。

答えて

1

我々はzooregオブジェクトに予測変換した後autoplot.zooを呼び出すことによってggfortify使用を避けることができる。ggfortifyがロードされない場合、autoplot.zooは、任意autoplotに短縮することができる

library(ggplot2) 

p <- predict(d.var, n.ahead = 50) 
freq <- frequency(Canada) 
z <- zooreg(data.frame(lapply(p$fcst, "[", TRUE, 1)), end(Canada) + 1/freq, freq = freq) 
autoplot.zoo(z) + scale_x_yearqtr() + facet_free() 

注意。

関連する問題