我在列表中有一组使用以下形式的框图:
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))
不幸的是disp
和hp
不是我想要的标签(但是是变量名称)。所以,我想修改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]]
是我要分配的列表中的位,但是
如上所述(最后两行中的任何一行)替换整个列表元素。