如何将多个调用组合到函数中?

时间:2015-07-10 13:21:02

标签: r

我想将我的函数调用概括为能够将这些调用作为参数传递给第二个函数。

在我的情况下,我有多个ggplots,我将其存储为例如列表:

year.plots <- lapply(c("2008","2009","2010","2011","2012","2013","2014"),
   FUN=function(x){
   ggplot(data=french.temp.load[french.temp.load$Year==x,],
   aes(x=Temperature_K,y=load,color=Month)) +
   geom_point(alpha=0.5)
   })

现在我想将它们传递给grid.arrange。有可能做这样的事吗?

grid.arrange(seq(year.plots),ncol=3)

由于

1 个答案:

答案 0 :(得分:1)

我认为这就是你想要的。很难确定,因为我经常不使用网格内容而你没有提供可重现的例子。

# Make example data
p <- qplot(rnorm(30))
year.plots <- list(p, p, p, p, p, p, p)
# This will basically construct the call
# grid.arrange(p, p, p, p, p, p, p, ncol = 3)
do.call(grid.arrange, c(year.plots, ncol = 3))