2016-05-24 15 views
3

ich dies mit Plots zu einer PDF-Datei in einer for-Schleife zu drucken, das funktioniert gut:assign ggplot einer Variablen innerhalb for-Schleife

print(ggplot(subdata3, aes(x = Year, y = value, colour = Stat)) 
+ geom_line() + expand_limits(y=c(0,100)) 
+ ggtitle(paste0(as.character(ScenName),":\n", as.character(k))) 
+ ylab(paste0(j, " (", units, ")"))) 

Nun, ich brauche jeden ggplot einer Variablen zuweisen ' p ', die dann in einer Liste gespeichert und von multiplot verwendet werden, um mehrere Plots auf einer Seite anzuordnen.

Dies ist mein Versuch, die Handlung zu einer Variablen zuzuweisen:

p <- ggplot(subdata3, aes(x = Year, y = value, colour = Stat)) 
+ geom_line() + expand_limits(y=c(0,100)) 
+ ggtitle(paste0(as.character(ScenName),":\n", as.character(k))) 
+ ylab(paste0(j, " (", units, ")")) 

Die einzigen Änderungen, die ich waren print() entfernen gemacht und die variable Zuordnung zu machen. Nach dem, erhalte ich diesen Fehler:

Error in +ggtitle(paste0(as.character(ScenName), ":\n", as.character(k))) : 
    invalid argument to unary operator 

ich viele Anpassungen an die verschiedenen Sätze von () Versuchen versucht haben, eine Lösung zu finden, aber nichts scheint zu funktionieren.

Irgendwelche Gedanken?

Antwort

2

Sie haben Ihre + s an der falschen Stelle. Versuchen Sie folgendes:

p <- ggplot(subdata3, aes(x = Year, y = value, colour = Stat)) + 
    geom_line() + expand_limits(y=c(0,100)) + 
    ggtitle(paste0(as.character(ScenName),":\n", as.character(k))) + 
    ylab(paste0(j, " (", units, ")")) 
+1

Danke, das hat mich verrückt gemacht! – viridius

Verwandte Themen