Eksperymentowałem zarówno z ggplot2
i lattice
w celu graficznego tworzenia paneli danych. Mam problemy z zawijaniem umysłu wokół modelu ggplot2
. W szczególności, w jaki sposób mogę wykreślić wykres punktowy z dwóch zestawów danych na każdym panelu:wykreśla dwa wektory danych na wykresie rozproszonym GGPLOT2 przy użyciu R
w lattice
mogę to zrobić:
xyplot(Predicted_value + Actual_value ~ x_value | State_CD, data=dd)
i że da mi panel dla każdego State_CD z każdej kolumny
mogę zrobić jedną kolumnę z ggplot2
:
pg <- ggplot(dd, aes(x_value, Predicted_value)) + geom_point(shape = 2)
+ facet_wrap(~ State_CD) + opts(aspect.ratio = 1)
print(pg)
nie mogę grok jest jak dodać Actual_value do ggplot powyżej.
EDYCJA Hadley zaznaczył, że to naprawdę będzie łatwiejsze z powtarzalnym przykładem. Oto kod, który wydaje się działać. Czy istnieje lepszy lub bardziej zwięzły sposób na zrobienie tego za pomocą ggplot? Dlaczego składnia do dodania innego zestawu punktów do ggplota jest tak różna od dodawania pierwszego zestawu danych?
wyjścielibrary(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")
Krata wygląda następująco: alt text http://www.cerebralmastication.com/wp-content/uploads/2009/08/lattice.png
i ggplot wygląda następująco: alt text http://www.cerebralmastication.com/wp-content/uploads/2009/08/ggplot.png
Byłoby znacznie łatwiej zaoferować sugestie, jeśli dostarczono powtarzalny przykład – hadley
tak, to dobra uwaga. Byłem leniwy, nie mogąc stworzyć pełnego przykładu. Spróbuję trochę popracować. –