我正在尝试复制类似于以下的图表(最初在这里找到)
它在概念上很简单,但我对如何在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
Run Code Online (Sandbox Code Playgroud)
如何在上面的链接中实现图表?我很糟糕ggplot
,但感觉这是可能的解决方案.谢谢!
Aru*_*run 30
像这样的东西?
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
Run Code Online (Sandbox Code Playgroud)