Подтвердить что ты не робот

Гистограммы сюжета над факторными переменными

Я пытаюсь реплицировать график, похожий на следующий (изначально найденный ЗДЕСЬ)
stacked histograms

Это концептуально просто, но я немного зациклен на том, как это сделать в R.
Подводя итог: я хочу генерировать гистограммы поведенческой частоты в течение 24 часов дня (24-уровневая факторная переменная) к каждому дню недели. Затем я хочу собрать эти гистограммы друг на друга, чтобы можно было сравнить сравнение поведения в течение дня (см. Пример).

Например, мои данные могут выглядеть так:

  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, но имею в виду это вероятное решение. Спасибо!

4b9b3361

Ответ 1

Что-то вроде этого?

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