Ich möchte Daten nach Jahr Intervall in einem Balkendiagramm aggregieren. Auf der Grundlage dieser answer schrieb ich den folgenden Code:Aggregierte Daten nach Jahr-Intervall in Balkendiagramm
years <- seq(as.Date('1970/01/01'), Sys.Date(), by="year")
set.seed(111)
effect <- sample(1:100,length(years),replace=T)
data <- data.frame(year=years, effect=effect)
ggplot(data, aes(year, effect)) + geom_bar(stat="identity", aes(group=cut(year, "5 years")))
jedoch nur die Strichmarkierungen betroffen sind, aber die Daten nicht durch Intervall summiert. Kann ich mit ggplot2 die Daten ohne Vorverarbeitung der Daten summieren, während die Teilstriche und Beschriftungen unverändert bleiben?
EDIT: Sorry, ich war nicht klar. Ich möchte die Teilstriche und Beschriftungen so belassen, wie sie sind, d. H. Strichmarkierungen, die an der linken Kante jedes Strichs (die nun 5 Jahre umfasst) und Jahr nur in den Etiketten positioniert sind. Dies basiert auf dem Aussehen der oben stehenden verknüpften Antwort.
Ist das, was du erwartest? 'ggplot (Daten, AES (Schnitt (Jahr," 5 Jahre "))) + Geom_Bar (AES (Gewicht = Effekt))' – cderv
Ja, danke @cderv! aber ich versuche auch, die x-Markierungen korrekt positioniert und formatiert als das erste Jahr jedes Intervalls zu halten (wie in dem Diagramm, das ich zur Verfügung gestellt habe). – syre
Es ist eine gute Idee, 'set.seed (111)' (mit einer beliebigen Zahl als Argument) am Anfang des Codes einzufügen, wenn eine zufällige Funktion ausgeführt wird. Auf diese Weise können andere die genauen Daten erhalten, die Sie haben. – echasnovski