Подтвердить что ты не робот

Создание нескольких графических элементов из R-функции

Я бы хотел создать несколько графических окон из функции в R, используя графику ggplot...

testf <- function(a, b) {
  devAskNewPage(TRUE)
  qplot(a, b);
  # grid.newpage(recording = TRUE)
  dev.new()
  qplot(a, a+a);
  # grid.newpage(recording = TRUE)
  dev.new()
  qplot(b, b+b);
}

library(ggplot2)

x <- rnorm(50)
y <- rnorm(50)
testf(x, y)

Однако ни dev.new(), ни grid.newpage(), похоже, не закрашивают предыдущий график.

Я знаю, что в R функции обычно производят только последнее, что они оценивают, но я хотел бы лучше понять процесс и узнать о возможных возможных обходных решениях.

Мысли?

4b9b3361

Ответ 1

Графические функции на сетке в решетке и ggplot2 создают объект графа, но не отображают его. Метод print() для объекта графа создает фактический дисплей, т.е.

print(qplot(x, y))

решает проблему.

См. R FAQ 7.22.