【问题标题】:How does one add custom variable names to an IRF plot?如何将自定义变量名称添加到 IRF 图中?
【发布时间】:2020-03-19 00:13:23
【问题描述】:

我有以下代码:

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 中的列表。

编辑:

上面的代码给我的情节之一是

我想将所有变量名称更改为更易读的名称。我该怎么做?

【问题讨论】:

  • 您能否通过将data 添加为dput 来使这篇文章可重现?

标签: r plot naming


【解决方案1】:

如果要指定要绘制的变量名,请使用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)

}

【讨论】:

  • 我看不到names(var_irf$irf) 属于我的代码的哪个位置。为什么$irf 在那里?当我运行它时,我只是得到一个重复的原始变量名称列表,如何使用我的列表更新它names
  • 我认为我的问题不够清楚,我想更改所有图中的 all 变量名称。我想为每个变量制作自定义标签,而不仅仅是显示特定的情节。假设我有 3 个变量,x_1 x_2 x_3,我希望它们在 x_1 x_2 和 x_3 的脉冲响应图中显示为“log(1)”“log(2)”“log(3)”
  • 我更新了帖子,如果还有歧义请告诉我
  • 太棒了!一件事:我如何也更新标题?就像你的例子一样,对 log_e 感到震惊而不是对 e 感到震惊
猜你喜欢
  • 1970-01-01
  • 2013-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-11
  • 1970-01-01
  • 2013-01-13
相关资源
最近更新 更多