Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
grid.arrange+;关于脉冲响应函数(IRF)的ggplot2_R_Ggplot2_Autoregressive Models - Fatal编程技术网

grid.arrange+;关于脉冲响应函数(IRF)的ggplot2

grid.arrange+;关于脉冲响应函数(IRF)的ggplot2,r,ggplot2,autoregressive-models,R,Ggplot2,Autoregressive Models,我正在使用GGplot2+grid.arrange绘制脉冲响应函数图(来自向量自回归模型)。下面是我的实际绘图和vars包中的原始绘图。我真的很想得到任何改善最终结果的提示 那就好了,至少把两块地放近一点 这不是一个完整的问题主题,而是一个改进问题 这里是完整的代码 library(vars) # Define lags lag = VARselect(my_data, lag.max=12) # Estimating var my_var = VAR(my_data, min(lag$se

我正在使用GGplot2+grid.arrange绘制脉冲响应函数图(来自向量自回归模型)。下面是我的实际绘图和
vars
包中的原始绘图。我真的很想得到任何改善最终结果的提示

那就好了,至少把两块地放近一点

这不是一个完整的问题主题,而是一个改进问题

这里是完整的代码

library(vars)

# Define lags
lag = VARselect(my_data, lag.max=12)

# Estimating var
my_var = VAR(my_data, min(lag$selection), type='both')

# Set the Impulse-Response data
impulse <- irf(my_var)

# Prepare plot data
    number_ticks <- function(n) {function(limits) pretty(limits, n)}
    lags <- c(1:11)

    irf1<-data.frame(impulse$irf$PIB[,1],impulse$Lower$PIB[,1],
                     impulse$Upper$PIB[,1], lags)
    irf2<-data.frame(impulse$irf$PIB[,2],impulse$Lower$PIB[,2],
                     impulse$Upper$PIB[,2])

# creating plots  

PIB_PIB <- ggplot(data = irf1,aes(lags,impulse.irf.PIB...1.)) +
            geom_line(aes(y = impulse.Upper.PIB...1.), colour = 'lightblue2') +
            geom_line(aes(y = impulse.Lower.PIB...1.), colour = 'lightblue')+
            geom_line(aes(y = impulse.irf.PIB...1.))+
            geom_ribbon(aes(x=lags, ymax=impulse.Upper.PIB...1., ymin=impulse.Lower.PIB...1.), fill="lightblue", alpha=.1) +
            xlab("") + ylab("PIB") + ggtitle("Orthogonal Impulse Response from PIB") +
            theme(axis.title.x=element_blank(),
                    axis.text.x=element_blank(),                    
                    axis.ticks.x=element_blank()) +
            geom_line(colour = 'black')



PIB_CON <- ggplot(data = irf2,aes(lags,impulse.irf.PIB...2.)) +
            geom_line(aes(y = impulse.Upper.PIB...2.), colour = 'lightblue2') +
            geom_line(aes(y = impulse.Lower.PIB...2.), colour = 'lightblue')+
            geom_line(aes(y = impulse.irf.PIB...2.))+
            geom_ribbon(aes(x=lags, ymax=impulse.Upper.PIB...2., ymin=impulse.Lower.PIB...2.), fill="lightblue", alpha=.1) +
            scale_x_continuous(breaks=number_ticks(10)) +
            xlab("") + ylab("CONSUMO") + ggtitle("") +
            theme(axis.title.x=element_blank(),
                    axis.text.x=element_blank(),                    
                    axis.ticks.x=element_blank()) +
            geom_line(colour = 'black')


# Generating plot

grid.arrange(PIB_PIB, PIB_CON, nrow=2)
库(vars)
#定义滞后
lag=VARselect(我的_数据,lag.max=12)
#估计风险价值
my_var=var(my_数据,min(滞后$selection),type='both')
#设置脉冲响应数据

脉冲得到了非常接近理想模型的结果

以下是更改后的图:

PIB_PIB <- ggplot(data = irf1,aes(lags,impulse.irf.PIB...1.)) +
            geom_line(aes(y = impulse.Upper.PIB...1.), colour = 'lightblue2') +
            geom_line(aes(y = impulse.Lower.PIB...1.), colour = 'lightblue')+
            geom_line(aes(y = impulse.irf.PIB...1.))+
            geom_ribbon(aes(x=lags, ymax=impulse.Upper.PIB...1., ymin=impulse.Lower.PIB...1.), fill="lightblue", alpha=.1) +
            xlab("") + ylab("PIB") + ggtitle("Orthogonal Impulse Response from PIB") +
            theme(axis.title.x=element_blank(),
                    axis.text.x=element_blank(),                    
                    axis.ticks.x=element_blank(),
                  plot.margin = unit(c(2,10,2,10), "mm"))+
            scale_x_continuous(breaks=number_ticks(10)) +
            geom_line(colour = 'black')



PIB_CON <- ggplot(data = irf2,aes(lags,impulse.irf.PIB...2.)) +
            geom_line(aes(y = impulse.Upper.PIB...2.), colour = 'lightblue2') +
            geom_line(aes(y = impulse.Lower.PIB...2.), colour = 'lightblue')+
            geom_line(aes(y = impulse.irf.PIB...2.))+
            geom_ribbon(aes(x=lags, ymax=impulse.Upper.PIB...2., ymin=impulse.Lower.PIB...2.), fill="lightblue", alpha=.1) +
            xlab("") + ylab("CONSUMO") + ggtitle("") +
            theme(axis.title.x=element_blank(),
        #           axis.text.x=element_blank(),                    
        #           axis.ticks.x=element_blank(),
                    plot.margin = unit(c(-10,10,4,10), "mm"))+
            scale_x_continuous(breaks=number_ticks(10)) +
            geom_line(colour = 'black')

grid.arrange(PIB_PIB, PIB_CON, nrow=2)
PIB_PIB