Como usar o espaço vazio produzido por facet_wrap?

Eu tenho uma trama facetada que forma umn x m grade. Por padrão, a última célula (canto inferior direito) está sempre vazia, então eu gostaria de utilizar o espaço extra adicionando outro objeto ggplot. Minha solução atual depende de baixo nívelviewport abordagem, que não é muito elegante e requer alguma codificação para posição e tamanho.

Em vez disso, suponho que o espaço vazio seja acessível de alguma outra maneira, provavelmente comgridExtra?

Aqui está um exemplo mínimo paran=m=2. Observe que as arestas não estão alinhadas corretamente; portanto, é necessário algum trabalho extra para ajustar manualmente os parâmetros da porta de visualização, o que é uma dor, especialmente se(n, m) mudar depois.

library(ggplot2)
library(grid)
p <- qplot(displ, hwy, data = mpg[mpg$cyl != 5, ]) + 
       facet_wrap(~ cyl, nrow=2)
q <- qplot(date, unemploy, data = economics, geom = "line") + 
       labs(x = NULL, y = NULL)
p
print(q, vp=viewport(0.75, 0.275, 0.45, 0.45))

questionAnswers(1)

yourAnswerToTheQuestion