In Hadley Wickhams ggplot2 Buch in Kapitel 10.3 spielt er auf Plotfunktionen an. Ich möchte viele ähnliche Diagramme erstellen, die Facettierung verwenden, aber ich kann mich nicht auf eine Spalte beziehen. Wenn alle meine Referenzen in Ästhetik sind, dann kann ich aes_string verwenden und alles funktioniert. Facet_wrap scheint kein Analogon zu haben.Erstellen von Plotfunktionen mit ggplot und aes_string
library(ggplot2)
data(iris)
Dies ist die Handlung ich funktionalisieren wollen.
pl.flower1 <- ggplot(data=iris,
aes_string(x='Sepal.Length', y='Sepal.Width', color='Petal.Length')) +
geom_point() +facet_wrap(~Species)
Das funktioniert, wenn ich nicht Facette.
Was sollte "sp" zwei Zeilen darunter sein? Eine Formel, eine Zeichenfolge? Vielleicht ist der ganze Ansatz falsch.
flowerPlotWrap <- function(dat, sl, sw, pl, sp){
ggplot(data=dat, aes_string(x=sl, y=sw, color=pl)) + geom_point() +facet_wrap(sp)
}
pl.flower3 <- flowerPlotWrap(iris, sl='Sepal.Length', sw='Sepal.Width', pl='Petal.Length', sp= ?????)
Zusätzlich zu einer Antwort würde ich gerne Zeiger auf, wie jemand nähert sich dieses Problem?
Um herauszufinden, wie man diese Frage löst, würde ich wahrscheinlich zuerst [StackOverflow] (http://stackoverflow.com/questions/8043247/writing-r-functions-with-optional-arguments) überprüfen. :) – joran
Auch hier gefragt: http://stackoverflow.com/questions/11028353/passing-string-variable-facet-wrap-in-gplplot-using-r –