Ich habe mit ggplot2
und lattice
experimentiert, um Datenfelder zu zeichnen. Ich habe ein paar Probleme mit dem Modell ggplot2
. Insbesondere wie plotte ich ein Streudiagramm mit zwei Sätzen von Daten auf jeder Platte:Zeichnen von zwei Vektoren von Daten auf einem GGPLOT2 Streudiagramm mit R
in lattice
ich dies tun könnte:
xyplot(Predicted_value + Actual_value ~ x_value | State_CD, data=dd)
und das würde mir mit jeder Spalte eine Platte für jede staat_code geben
ich kann mit ggplot2
eine Spalte tun:
pg <- ggplot(dd, aes(x_value, Predicted_value)) + geom_point(shape = 2)
+ facet_wrap(~ State_CD) + opts(aspect.ratio = 1)
print(pg)
Was ich nicht verstehen kann, ist, wie ACTUAL_VALUE zum ggplot oben hinzuzufügen.
EDIT Hadley wies darauf hin, dass dies mit einem reproduzierbaren Beispiel wirklich einfacher wäre. Hier ist Code, der zu funktionieren scheint. Gibt es einen besseren oder prägnanteren Weg, dies mit ggplot zu tun? Warum unterscheidet sich die Syntax zum Hinzufügen einer anderen Menge von Punkten von ggplot so stark von der ersten Menge an Daten?
library(lattice)
library(ggplot2)
#make some example data
dd<-data.frame(matrix(rnorm(108),36,3),c(rep("A",24),rep("B",24),rep("C",24)))
colnames(dd) <- c("Predicted_value", "Actual_value", "x_value", "State_CD")
#plot with lattice
xyplot(Predicted_value + Actual_value ~ x_value | State_CD, data=dd)
#plot with ggplot
pg <- ggplot(dd, aes(x_value, Predicted_value)) + geom_point(shape = 2) + facet_wrap(~ State_CD) + opts(aspect.ratio = 1)
print(pg)
pg + geom_point(data=dd,aes(x_value, Actual_value,group=State_CD), colour="green")
Die Gitter Ausgabe sieht wie folgt aus: alt text http://www.cerebralmastication.com/wp-content/uploads/2009/08/lattice.png
und ggplot sieht wie folgt aus: alt text http://www.cerebralmastication.com/wp-content/uploads/2009/08/ggplot.png
Es wäre viel einfacher, Vorschläge anzubieten, wenn Sie ein reproduzierbares Beispiel liefern würden – hadley
ja, das ist ein guter Punkt. Es war faul von mir, kein vollständiges Beispiel zu erstellen. Ich werde versuchen, etwas aufzuarbeiten. –