Ich habe einige Skripte (vor über einem Jahr kodiert) reproduziert und herausgefunden, dass ich nicht mehr die gleichen Plots bekomme. Ich verwende den gleichen Datensatz und den gleichen Code. Der einzige Unterschied ist die Version meiner R-Installation und ggplot2 --- also nehme ich an, dass das hier das Problem ist.(ggplot2 update?) Stacked Barplot mit prozentualen Labels
Lassen Sie mich Ihnen das Problem mit ein paar albernen Plots zeigen. Wenn gestapelt barplots mit Prozentetikett würde ich so etwas wie:
ess2 <- ddply(ess, .(essround2), function(.){
res <- cumsum(prop.table(table(factor(.$contplt2))))
res2 <- prop.table(table(factor(.$contplt2)))
data.frame(lab=names(res), y=c(res), res2=res2, pos=cumsum(res2)-0.5*res2)
})
ggplot(ess[ess$contplt2!="NA",], aes(x=essround2))+
geom_bar(aes(fill=contplt2), position="fill")+
geom_text(data=ess2[ess2$lab!="NA",],
aes(label=round(res2.Freq, 2), x=essround2, y=pos.Freq))+
labs(x="ESS Round", y="Percent")+
scale_x_discrete(breaks=c("R1", "R2", "R3", "R4", "R5", "R6"),
labels=c("2002", "2004", "2006", "2008", "2010", "2012"))+
ggtitle("Contacted politicians")+
scale_fill_manual(name="Contacted politician", values=c("#31a354", "#a1d99b"))
Das Ergebnis wäre etwas, wie:
Wie heute, wenn ich versuche, den exakt gleichen Code mit dem exakt gleichen Dataset, erhalte ich die folgende Handlung:
Wie Sie die l sehen können Abels sind nicht richtig auf den Stäben positioniert, und die Farben werden invertiert, was das Lesen der Zeichnung unangenehm macht (als ob gestapelte Barplots nicht schon peinlich genug wären).
Entschuldigung dafür, dass ich Ihnen keinen reproduzierbaren Code gebe, aber ich glaube mein Problem ist nur, dass ich meinen Code nicht aktualisiere, da ggplot2 entwickelt wurde (oder ist plyr das Problem?) Wenn Sie etwas "altes" in meinem Code finden könnten die zweite, wackelige Handlung produzierend wäre ich sehr dankbar und glücklich, von dort selbst zu untersuchen.
Danke !!!
EDIT: Dank eines Vorschlags in den Kommentaren unterscheiden sich die Prozentsätze in den Plots, weil ich verschiedene Länder (aber den gleichen Code und den gleichen Datensatz) verwendet habe. Ich habe das genaue-exakt gleiche Grundstück mit einer anderen Version von R und ggplot2 und Sie können sehen, dass das Problem weiterhin besteht:
seine Daten .... das Ja/Nein Spalte formatiert werden muss als 'factor' mit' level = c ("Ja", „Nein)' dann soll sie arbeiten – cephalopod
Vielen Dank für Ihre Antwort, die zweite Handlung wurde erstellt, nachdem die Variable "contplt2" in einen Faktor mit diesen zwei Stufen umgewandelt wurde.Ich verstehe vielleicht Ihren Vorschlag nicht vollständig: Ich werde die Variable erneut faktorisieren, aber wie oben erwähnt es hatte bereits diese zwei Ebenen und eine dritte mit "NA" (die ich im Code weglasse) – YSC
Stellen Sie sicher, dass die Ebenen des Faktors die richtige Reihenfolge sind – Gregor