Сохранить вывод из gridExtra :: grid.arrange в объект

Я помещаю несколько графиков в одно изображение, используяgridExtra::grid.arrange и хотел бы иметь возможность сохранить комбинированный график как объект, который можно было бы вернуть из функции как часть списка возвращаемых объектов. В идеале я хотел бы сделать это без печати объекта сюжета.

Код ниже создает два графика, объединяет их сgrid.arrangeи пытается сохранить результат вx, Тем не мение,x оцениваетNULL и сюжет распечатан. Документация дляgrid.arrange указывает мне наarrangeGrob и предлагает построение графиков можно отключить с помощьюplot=FALSE, но я получаю ошибку, когда пытаюсь это сделать, потому чтоFALSE не объект граб.

Любые предложения для чего я не понимаю?

# R under development
# Windows 7 (32 bit)
# ggplot2 1.0.0
# gridExtra 0.9.1

p1 <- ggplot(mtcars, aes(x=factor(cyl), y=mpg)) + geom_boxplot()

p2 <- ggplot(mtcars, aes(x=factor(cyl), y=wt)) + geom_boxplot()

x <- gridExtra::grid.arrange(p1, p2)

x

Согласно комментариям, я добавляю это редактирование. Когда я попробую это сarrangeGrobЯ не получаю никакого вывода вообще.

> gridExtra::arrangeGrob(p1, p2)
> print(gridExtra::arrangeGrob(p1, p2))
Error: No layers in plot
> x <- gridExtra::arrangeGrob(p1, p2)
> x
Error: No layers in plot

Ответы на вопрос(2)

Ваш ответ на вопрос