我有以下代码:
var <- VAR(data, p=2, type="const", ic="AIC")
names <-
c("log(p_l)","log(val)","log(vol)","log(er)",
"log(lr)","log(Exp)","log(Imp)","log(rgdp)","log(p_oil)","log(r)")
ir_plot <- plot(irf(var, n.ahead=20, ci=0.95, runs=100, seed=123), varnames = names)
最后一个参数varnames = names
是我要完成的目标。我已将参数移开并尝试variable.names
无济于事。我只想将图中显示的变量名更改为names
中的列表。
编辑:
上面的代码给我的情节之一是
我想将所有变量名更改为更易读的名称。我该怎么办?
如果要指定要绘制的变量名称,请使用names=
:
library(vars)
data(Canada)
var.2c <- VAR(Canada, p = 2, type = "const",ic="AIC")
var_irf <- irf(var.2c, n.ahead=20, ci=0.95, runs=100, seed=123)
plot(var_irf,names="e")
假设您希望y轴上的新标签为:
newl = paste0(“ log _”,test $ response)纽尔1“ log_e”“ log_prod”“ log_rw”“ log_U”
然后我们创建一个函数,该函数将更改所需的名称,但保持原始irf不变:
plot_w_names = function(irf,newy){
irf$response = newy
for(i in 1:length(irf$irf)){colnames(irf$irf[[i]]) = newy}
for(i in 1:length(irf$Lower)){colnames(irf$Lower[[i]]) = newy}
for(i in 1:length(irf$Upper)){colnames(irf$Upper[[i]]) = newy}
plot(irf)
}
然后运行此:
plot_w_names(var_irf,newl)