Gere vários charts a partir de uma function R

Eu gostaria de gerar várias janelas gráficas de dentro de uma function em R usando charts 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) 

No entanto, nem dev.new () nem grid.newpage () parece limpar o gráfico anterior.

Eu sei que, em R, as funções normalmente só produzem a última coisa que avaliam, mas eu gostaria de entender melhor o processo e aprender sobre possíveis soluções alternativas.

Pensamentos?

As funções gráficas baseadas em grade em lattice e ggplot2 criam um object gráfico, mas não o exibem. O método print() para o object gráfico produz a exibição real, ou seja,

 print(qplot(x, y)) 

resolve o problema.

Veja R FAQ 7.22 .