Вы используете 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)
newl
[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)
Если вы хотите обновить все, попробуйте следующее:
plot_w_names = function(irf,newy){
irf$response = newy
irf$impulse = newy
names(irf$irf) = newy
names(irf$Lower) = newy
names(irf$Upper) = 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)
}