Generieren Sie mehrere Grafiken innerhalb einer R-function

Ich würde gerne mehrere Grafikfenster aus einer function in R mit ggplot Grafiken spawnen …

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) 

Weder dev.new () noch grid.newpage () scheinen jedoch den vorhergehenden Plot zu leeren.

Ich weiß, dass functionen in R normalerweise nur das letzte Ergebnis liefern, das sie bewerten, aber ich würde den process gerne besser verstehen und von möglichen Problemumgehungen lernen.

Gedanken?

Die Grid- basierten Grafikfunktionen in gitter und ggplot2 erstellen ein Graph-Objekt, zeigen es aber nicht an. Die Methode print() für das Graph-Objekt erzeugt die eigentliche Anzeige, dh

 print(qplot(x, y)) 

triggers das Problem.

Siehe R FAQ 7.22 .