将ylab添加到列表中的ggplot图中

时间:2015-09-17 19:25:36

标签: r ggplot2 lapply

我在列表中有一组使用以下形式的框图:

data(mtcars)
box_stack <- function(metrics){
  ggplot(mtcars, aes_string(y = metrics, x = factor(1))) + geom_boxplot() + 
    stat_summary(fun.y=mean, geom="point", shape=5, size=4)
}

box_list_stack <- lapply(c("disp","hp"),function(metric){box_stack(metric)})
do.call(grid.arrange, c(box_list_stack,ncol=2))

不幸的是disphp不是我想要的标签(但是是变量名称)。所以,我想修改ylabs。我试图做一个lapply,按照:

box_list <- lapply(1:2,function(var_n) {
  var_name <- c("Real_disp_name","Real_hp_name")[[var_n]]
  var_org <- c("disp","hp")[[var_n]]
  #box_list[[var_org]][[9]][[2]] <<- var_name
  box_list[[var_n]][[9]][[2]] <<- var_name
  }
                       )

[[x]][[9]][[2]]是我要分配的列表中的位,但是 如上所述(最后两行中的任何一行)替换整个列表元素。

0 个答案:

没有答案