在R封装"vars"中并排绘制脉冲响应


library(vars)
data(Canada)
var_fit <- VAR(Canada, p = 1)
var_irf <- irf(var_fit, impulse = c("U", "rw"), response = "prod")

如何在图形中并排绘制两个脉冲响应

通常,我会使用 par(mfrow = c(1,2)) ,但它没有按预期工作。有什么帮助吗?

我发现了同样的问题。我"手动"解决了,这里是具有两个变量的模型 VAR(1( 的示例。

    impulse<-irf(model)
    irf1<-data.frame(impulse$irf$y1[,1],impulse$Lower$y1[,1],
                     impulse$Upper$y1[,1])
    irf2<-data.frame(impulse$irf$y1[,2],impulse$Lower$y1[,2],
                     impulse$Upper$y1[,2])
    par(mfrow=c(1,2), bg="azure2")
    matplot(irf1, type="l", lwd=2, col="blue2", 
            ylab=expression(y[1]), lty=c(1,2,2))
    matplot(irf2, type="l", lwd=2, col="red2", 
            ylab=expression(y[1]), lty=c(1,2,2))

最新更新