17

次のようなグラフを複製しようとしています(元はここにありました)
積み上げヒストグラム

概念的には単純ですが、R でそれを行う方法については少し困惑しています
。週。次に、これらのヒストグラムを積み重ねて、1 時間ごとの行動の分布を簡単に比較できるようにします (例を参照してください)。

たとえば、私のデータは次のようになります。

  weekday hour    count
  Tuesday   15      553
   Monday    1       53
   Monday   10      539
   Monday   15      629
  Tuesday    9      281
 Saturday    4       11
   Monday    3       20
   Sunday    3       10
   Sunday    7        2
   Sunday    2       17

上記のリンクのグラフを実装するにはどうすればよいですか? 私はひどいですがggplot、それが解決策の可能性が高いと感じています。ありがとう!

4

1 に答える 1

31

このようなもの?

set.seed(1234)
df <- data.frame(weekday=rep(sort(unique(weekdays(.leap.seconds))), each=24), 
                       hour=rep(1:24, 7), count=sample(2:600, 24*7, replace=T))

df$weekday <- factor(df$weekday, levels=c("Monday", "Tuesday", "Wednesday", 
                      "Thursday", "Friday", "Saturday", "Sunday"), ordered=T)
df$hour <- factor(df$hour)

require(ggplot2)    
p <- ggplot(data = df, aes(x=hour)) 
p <- p + geom_histogram(aes(weights=count, fill=weekday))
p <- p + scale_fill_brewer(palette="Set3")
p <- p + facet_wrap( ~ weekday, ncol=1)
p

ggplot2_facet_histogram

于 2013-02-11T18:39:21.553 に答える