Com grid.arrange, posso organizar várias ggplotfiguras em uma grade para obter uma figura de vários painéis usando algo como:
library(ggplot2)
library(grid)
library(gridExtra)
gerar alguns gráficos ggplot2, então
plot5 <- grid.arrange(plot4, plot1, heights=c(3/4, 1/4), ncol=1, nrow=2)
Como posso obter um layout 'desequilibrado' de 2 colunas com um gráfico em toda a primeira coluna e três gráficos na segunda coluna? Eu brinquei com uma abordagem de 'grade de grades' tentando usar grid.arrangepara traçar uma grade (por exemplo plot5, acima) contra outra trama, mas obtive:
Erro em layGrob (..., as.table = as.table, clip = clip, main = main,: input deve ser grobs!
Atualizar:
Obrigado pelo conselho. Vou examinar viewportse grid. Nesse ínterim, graças a @DWin, a layOutfunção no pacote 'wq' funcionou muito bem para a figura de compilação em meu Sweavedocumento:

Atualização 2:
O arrangeGrobcomando (como sugerido por @baptiste) também funciona bem e parece muito intuitivo - pelo menos foi fácil alterar a largura das duas colunas. Também tem a vantagem de não exigir o pacote `wq '.
por exemplo, aqui está o código do meu arquivo Sweave:
<<label=fig5plot, echo=F, results=hide>>=
plot5<-grid.arrange(plot4, arrangeGrob(plot1, plot2, plot3, ncol=1),
ncol=2, widths=c(1,1.2))
@
\begin{figure}[]
\begin{center}
<<label=fig5,fig=TRUE,echo=T, width=10,height=12>>=
<<fig5plot>>
@
\end{center}
\caption{Combined plots using the `arrangeGrob' command.}
\label{fig:five}
\end{figure}
que produz a seguinte saída:

BTW, alguém me diga por que o '> NA' aparece?
grid. Veja também o livro ggplot2 de Hadley, Seção 8.4.2.
grid.arrangepode ser usado com viewports aninhadas usando seu companheiro arrangeGrob(essencialmente retornando a gTree), como no exemplo que dei abaixo.
plot5não é necessária, pois grid.arrangenão retorna nada (NULL). Se você quiser salvar o grob resultante, use arrangeGrobnovamente (e grid.drawpara exibi-lo).



grid.arrangepode não ser flexível o suficiente (pesquisar stackoverflow para "[r] janela de visualização em grade")