Я экспериментировал как с ggplot2
и с lattice
для ggplot2
панелей данных. У меня возникли небольшие проблемы, когда я ggplot2
модель ggplot2
. В частности, как мне построить точечную диаграмму с двумя наборами данных на каждой панели:
в lattice
я мог бы сделать это:
xyplot(Predicted_value + Actual_value ~ x_value | State_CD, data=dd)
и это дало бы мне панель для каждого State_CD с каждым столбцом
Я могу сделать один столбец с ggplot2
:
pg <- ggplot(dd, aes(x_value, Predicted_value)) + geom_point(shape = 2)
+ facet_wrap(~ State_CD) + opts(aspect.ratio = 1)
print(pg)
Я не могу понять, как добавить Actual_value в ggplot выше.
РЕДАКТИРОВАТЬ Хэдли указал, что это действительно будет проще с воспроизводимым примером. Вот код, который, кажется, работает. Есть ли лучший или более краткий способ сделать это с помощью ggplot? Почему синтаксис для добавления другого набора точек в ggplot так отличается от добавления первого набора данных?
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")
Выход решетки выглядит следующим образом:
(источник: cerebralmastication.com)
и ggplot выглядит так:
(источник: cerebralmastication.com)