Posting as an answer is only to show an example that cannot be done in a comment.
The idiom you are trying to use is correct:
library(ggplot2) library(gridExtra) p <- list(ggplot(mtcars, aes(x=wt, y=mpg))+geom_point(col="black"), ggplot(mtcars, aes(x=wt, y=mpg))+geom_point(col="orange"), ggplot(mtcars, aes(x=mpg, y=wt))+geom_point(col="blue")) g <- list(ggplot(mtcars, aes(x=wt, y=mpg))+geom_point(col="red"), ggplot(mtcars, aes(x=mpg, y=wt))+geom_point(col="green")) do.call(grid.arrange, c(p, g, list(ncol=2)))

Two lists of ggplot objects of variable length, followed by a list of parameters. You need to provide data and a more complete cycle for us to find out how to help you understand what you are doing wrong.
source share