[R] Pass additional arguments to do.call(grid.arrange, plots)
Rolf Turner
r.turner at auckland.ac.nz
Mon Feb 16 09:07:20 CET 2015
On 16/02/15 13:36, Bingzhang Chen wrote:
> Hi R users,
>
> I have a problem on how to pass an extra argument to do. call:
>
> The example codes are:
>
> #--------------------------------------------
> require(ggplot2)
> plots = lapply(1:5, function(.x) qplot(1:10,rnorm(10), main=paste("plot",.x)))
> require(gridExtra)
> do.call(grid.arrange, plots)
> #---------------------------------------------
>
> I want to force the composite figures into 2 rows by adding 'now = 2'
You mean 'nrow = 2', but I wasn't fooled for an instant! :-)
> in the function 'grid.arrange'. How can I do it?
> I searched on google but could not find a workable solution.
>
> I am working on RStudio 0.98.1102 on OSX Yosemite 10.10.2.
Try:
do.call(grid.arrange,c(plots,list(nrow=2))
The second argument to do.call() consists of a list constituting the
arguments to the first argument. So just append the argument you want
to use, to this list. Easy, once you know. :-)
cheers,
Rolf Turner
P. S. Thank you for providing a clear and reproducible example.
R. T.
--
Rolf Turner
Technical Editor ANZJS
Department of Statistics
University of Auckland
Phone: +64-9-373-7599 ext. 88276
Home phone: +64-9-480-4619
More information about the R-help
mailing list