Ich passe ein Zählmodell an einen Vektor von tatsächlichen Daten an und möchte nun das tatsächliche und das vorhergesagte als ein gruppiertes (ausgewichenes) Balkendiagramm darstellen. Da dies ein Zählmodell ist, sind die Daten diskret (X = x von 0 bis 317). Da ich ein Modell anpasse, habe ich nur Daten für die vorhergesagten Werte tabelliert.Gruppiertes Balkendiagramm mit ggplot2 und bereits tabellierten Daten
Hier ist, wie mein ursprünglicher Datenrahmen aussieht:
actual predicted
1 3236 3570.4995
2 1968 1137.1202
3 707 641.8186
4 302 414.8763
5 185 285.1854
6 104 203.0502
ich die Daten transformierte mit ggplot2 aufgetragen werden:
melted.data <- melt(plot.data)
melted.data$realization <- c(rep(0:317, times=2))
colnames(melted.data)=c('origin','count','realization')
Damit mein Datenrahmen sieht nun wie folgt aus:
head(melted.data)
origin count realization
1 actual 3236 0
2 actual 1968 1
3 actual 707 2
4 actual 302 3
5 actual 185 4
6 actual 104 5
> tail(melted.data)
origin count realization
631 predicted 1.564673e-27 312
632 predicted 1.265509e-27 313
633 predicted 1.023552e-27 314
634 predicted 8.278601e-28 315
635 predicted 6.695866e-28 316
636 predicted 5.415757e-28 317
Wenn ich versuche, es zu grafisch darzustellen (ich hätte auch gerne die tatsächliche und vorhergesagte Anzahl - die bereits Tab ist ulated im data-- durch diskrete Realisierung), gebe ich diesen Befehl ein:
ggplot(melted.data, stat="identity", aes(x=realization, fill=origin)) + geom_bar(position="dodge")
Doch scheint es, wie die Statistik Parameter von ggplot2 nicht gemocht wird, da ich nicht die richtige Barhöhe bekommen (was wäre, diejenigen der Variablen "count").
Irgendwelche Ideen?
Danke,
Roberto.
Ja, fügen Sie einfach '+ Xlim (xmin, xmax)' (mit entsprechenden Werte für xmin und xmax) – rcs
Große, vielen Dank! – Roberto
@rcs: Danke für diese Antwort. Unter Verwendung der obigen Variablenschreibweise haben die Daten, die ich zeichne, unterschiedliche Zahlen von Ursprungswerten. Wenn nur ein "Ursprungs" -Wert bei einer "Realisierung" vorhanden ist, wird ein "fetter" Balken erzeugt. Wenn zwei Ursprungswerte vorhanden sind, werden zwei schmalere Balken usw. erzeugt. Gibt es eine Möglichkeit sicherzustellen, dass die Balken eine einheitliche Breite haben? – SabreWolfy