Ich möchte viele Plots von ggplot2 in ein einziges PDF plotten können. Ich habe unten einen reproduzierbaren Code erstellt, der die Fehlermeldung erzeugt, die ich erhalte.Mehrere ggplot2 Plots zu einem PDF zusammenfügen
m <- matrix(data=cbind(rnorm(30, 0), rnorm(30, 2), rnorm(30, 5)), nrow=30, ncol=3)
df <- as.data.frame(m)
dfs <- stack(df)
uniqueplot1=ggplot(dfs, aes(x=values)) + geom_density()
uniqueplot2=ggplot(dfs, aes(x=values)) + geom_density()
objects=ls()
plot_search=grep("uniqueplot",objects)
objects=objects[plot_search]
pdf("plots.pdf")
grid.arrange(objects,ncol=2)
dev.off()
Der Fehler, die ich erhalte ist:
Error in gList(list("uniqueplot1", "uniqueplot2", wrapvp = list(x = 0.5, :
only 'grobs' allowed in "gList"
In addition: Warning message:
In grob$wrapvp <- vp : Coercing LHS to a list
Gibt es eine Möglichkeit das Element objects
in den richtigen Objekttyp zu konvertieren, so dass sie erfolgreich mit grid.arrange verwendet werden können?
EDIT: Dies ist ein vereinfachtes Beispiel - im wirklichen Leben werde ich Hunderte von Plots produzieren, und es wird nicht möglich sein, alle diese einzeln aufzulisten.
Wäre so etwas wie: 'grid.arrange (uniqueplot1, uniqueplot2, ncol = 2)' Arbeit? –
Ein anderer Ansatz: Haben Sie früher schon RMarkdown benutzt? – Wietze314