2017-06-09 2 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) 

Dies ist der Fehler ich oben:Wie kann ich autoplot.varprd Arbeit machen mit Zoo-Objekte

autoplot (Statistiken :: vorhersagen (d.var, n.ahead = 50), conf .int = TRUE) Fehler bei get.dtindex.continuous (Modell $ Modell $ y, Länge = nrow (FCST [[1]]),: fehlgeschlagen ts Objektindex bisher

Wie kann umwandeln Ich mache autoplot.varprd mit Zoo-Objekten arbeiten und zeigen Sie die Daten?

Wenn ich von einem Zoo-Objekt aus starte und es in ts umwandle, funktioniert autoplot.varprd, aber es werden Zahlen statt Daten angezeigt.

Danke.

Antwort

1

Wir vermeiden können mit ggfortify durch die Vorhersage auf ein zooreg Objekt konvertieren und dann den Aufruf autoplot.zoo:

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() 

Beachten Sie, dass, wenn ggfortify NICHT dann geladen wird autoplot.zoo optional auf autoplot verkürzt werden kann.

Verwandte Themen