Я чувствую, что всегда задаю один и тот же вопрос: (
Недавно я получил список графиков + таблица для отображения на grid.arrange, используя функцию do.call
library(grid)
library(ggplot2)
library(gridExtra)
g1 <- ggplot(data.frame(x=c(0, 10)), aes(x)) + stat_function(fun=sin)
g2 <- ggplot(data.frame(x=c(0, 10)), aes(x)) + stat_function(fun=tan)
g3 <- ggplot(data.frame(x=c(0, 10)), aes(x)) + stat_function(fun=cos)
g4 <- tableGrob(data.frame(x <- 1:10, y<-2:11, z<-3:12))
plist <- list(g1,g2,g3,g4)
do.call("grid.arrange", c(plist))
Это работает, но мне нужно, чтобы "plist" создавался на основе переменной "numruns" Я пробовал это, но он не работает:
plist2 <- list(paste0("g", seq_len(numruns+1)))
do.call("grid.arrange", c(plist2))
Я считаю, что то, что я делаю, вызывает grid.arrange( "g1", "g2",...), а не grid.arrange(g1, g2,...). Я решил аналогичную проблему, прежде чем использовать lapply, но это, похоже, не помогает мне в этом случае, иначе я использую ее неправильно.
Спасибо за любую помощь.