Ho sperimentato sia con ggplot2
sia con lattice
per rappresentare graficamente pannelli di dati. Sto avendo un piccolo problema a ricomporre il modello ggplot2
. In particolare, come faccio a tracciare un diagramma a dispersione di due serie di dati su ogni pannello:tracciamento di due vettori di dati su un grafico a dispersione GGPLOT2 utilizzando R
in lattice
avrei potuto fare questo:
xyplot(Predicted_value + Actual_value ~ x_value | State_CD, data=dd)
e che mi avrebbe dato un pannello per ogni State_CD con ogni colonna
posso fare una colonna con ggplot2
:
pg <- ggplot(dd, aes(x_value, Predicted_value)) + geom_point(shape = 2)
+ facet_wrap(~ State_CD) + opts(aspect.ratio = 1)
print(pg)
quello che non riesco Grok è come aggiungere ACTUAL_VALUE al ggplot sopra.
EDIT Hadley ha sottolineato che questo sarebbe davvero più semplice con un esempio riproducibile. Ecco il codice che sembra funzionare. C'è un modo migliore o più conciso per farlo con ggplot? Perché la sintassi per aggiungere un altro insieme di punti a ggplot è così diversa dall'aggiunta della prima serie di dati?
uscitalibrary(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")
Il reticolo si presenta così: alt text http://www.cerebralmastication.com/wp-content/uploads/2009/08/lattice.png
e ggplot si presenta così: alt text http://www.cerebralmastication.com/wp-content/uploads/2009/08/ggplot.png
Sarebbe molto più semplice offrire suggerimenti se hai fornito un esempio riproducibile – hadley
sì, questo è un buon punto. È stato pigro da parte mia non creare un esempio completo. Proverò a lavorarci su. –