棒グラフの中で年単位でデータを集計したい。このanswerに基づいて、私は次のコードを書いた:棒グラフ内の年単位のデータを集計する
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")))
しかし、唯一の目盛りが影響を受けているのが、データは区間によって加算されていません。ティックマークとラベルをそのままにして、データを前処理せずにデータを集計するggplot2を取得できますか?
編集:申し訳ありませんが明確ではありませんでした。私はティックマークとラベルをそのまま、つまり各バーの左端に位置する目盛り(今は5年をカバー)とラベルのみを保持したいと思います。これは上記のリンクされた答えの外観に基づいています。
と空想何もする必要がないように、私はデータセットを変換することを好むが、これは何をあなたは期待していますか? 'ggplot(データ、エース(カット(年、5年)))+ geom_bar(エース(ウェイト=エフェクト))' – cderv
はい、ありがとう@cderv!私はまた、x目盛りを正しく配置し、各インターバルの最初の年としてフォーマットしています(私が提供した図のように)。 – syre
いくつかのランダム関数が実行される場合は、コードの先頭に 'set.seed(111)'(任意の数を引数として)を含めることをお勧めします。このようにして、他人はあなたが持っている正確なデータを得ることができます。 – echasnovski