Genera múltiples gráficos desde dentro de una función R

Me gustaría generar varias ventanas de gráficos desde una función en R usando gráficos 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) 

Sin embargo, ni dev.new () ni grid.newpage () parecen eliminar el gráfico anterior.

Sé que, en R, las funciones normalmente solo producen lo último que evalúan, pero me gustaría entender mejor el proceso y aprender sobre posibles soluciones.

¿Pensamientos?

Las funciones gráficas basadas en la cuadrícula en celosía y ggplot2 crean un objeto gráfico, pero no lo muestran. El método print() para el objeto gráfico produce la visualización real, es decir,

 print(qplot(x, y)) 

resuelve el problema

Ver R FAQ 7.22 .