Organice los gráficos base y grid.tables en la misma página

Tengo 2 plots (creadas con gráficos base) y 2 marcos de datos que me gustaría combinar en una hoja en un PDF. Estoy usando grid.table para crear tableGrobs desde mis marcos de datos. Tengo dificultades para formatear la salida PDF. En particular, no he podido mantener todos los objetos en la misma página. Quiero que el panel derecho contenga un gráfico, y el panel izquierdo contenga el otro gráfico, y 2 tablas a continuación (formato horizontal).

Actualmente mi código es algo como lo siguiente:

library('gridExtra') pdf("Rplots.pdf", paper = "USr", height = 8.5, width = 11) layout(matrix(c(1,3, 2,3, 4,3), nrow = 3, ncol = 2, byrow = TRUE)) plot(myPlot1) grid.table(df1) plot(myPlot2) grid.table(df2) dev.off() 

No quiero usar ggplot2.

Para combinar gráficos base y objetos de grid , el paquete gridBase es útil.

Un ejemplo de base de trabajo aproximado en su diseño anterior

 library(grid) library(gridBase) library(gridExtra) layout(matrix(c(1,3, 2,3, 4,3), nrow = 3, ncol = 2, byrow = TRUE)) # First base plot plot(1:10) # second base plot frame() # Grid regions of current base plot (ie from frame) vps <- baseViewports() pushViewport(vps$inner, vps$figure, vps$plot) # Table grob grob <- tableGrob(iris[1:2,1:2]) grid.draw(grob) popViewport(3) # third base plot plot(1:10) # fourth frame() vps <- baseViewports() pushViewport(vps$inner, vps$figure, vps$plot) grid.draw(grob) popViewport(3) 

Lo que da

enter image description here