I asked a similar question a while back and Ananda Mahto generously provide time and code to help make a github package that can combine multiple plots of different sizes. I use it in my workflow a bit but have no plans to push it to CRAN but you can download it with the devtools
package. Note that you have to have ghostscript installed and on your path for this to work:
## Getting the plotflow github package:
library(devtools)
install_github("plotflow", "trinker")
library(plotflow)
## 2 Examples using the package to merge multiple pdfs
## Example 1
merge_pdf(3, file = "foo.pdf", widths = c(7, 7, 10), heights = c(6, 10, 7))
plot(1:10)
plot(1:10, pch=19)
plot(1:10, col="red", pch=19)
## Example 2
library(ggplot2)
p <- ggplot(mtcars, aes(factor(cyl), mpg)) + geom_boxplot()
merge_pdf(2, file = "bar.pdf", widths = c(7, 10), heights = c(6, 10))
plot(1:10)
print(p)
Note that if you already have the pdfs you may want to look at the plotflow:::mergePDF function.