Гистограммы сюжета над факторными переменными
Я пытаюсь реплицировать график, похожий на следующий (изначально найденный ЗДЕСЬ)
![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
, но имею в виду это вероятное решение.
Спасибо!
Ответы
Ответ 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]()