gpt4 book ai didi

r - 在因子变量上绘制直方图

转载 作者:行者123 更新时间:2023-12-03 13:52:42 24 4
gpt4 key购买 nike

我正在尝试复制类似于以下内容的图形(最初找到HERE


从概念上讲它很简单,但是我对如何在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感到很糟糕,但是可以肯定,这是可能的解决方案。
谢谢!

最佳答案

像这样吗

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

关于r - 在因子变量上绘制直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14818529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com