如何在 grid.arrange 中使用列值作为主标题?

How to use the column value as main title in grid.arrange?

我创建了一个绘图函数,我想将其应用于数据框列表。

plot.sets <- function(x){
  split(x, x$Set) %>%
    lapply(FUN=my.function) -> y
  grid.arrange(grobs=y)
}

这很好用并生成了几页排列好的图。但是,我希望每个页面上的主标题都不同。具体来说,我想做这样的事情:

plot.sets <- function(x){
  split(x, x$Set) %>%
    lapply(FUN=my.function) -> y
  grid.arrange(grobs=y, top=c("Sets for", x$ID))
}

例如,ID #3 的页面标题为 "Sets for 3." 但是,当我使用此代码时,每个页面的标题只显示 "Sets for",并且没有 ID 号。有什么建议吗?

我们需要paste函数里面的元素

plot.sets <- function(x){
 split(x, x$Set) %>%
   lapply(FUN=my.function) -> y
   grid.arrange(grobs=y, top=paste("Sets for", x$ID))
}