R语言处理时间向量按小时统计记录频次并绘制频次直方图
R语言时间向量小时维度频次直方图实现方法
方法1:直接修改hist函数参数
hist函数通过freq参数控制输出维度,设置freq=TRUE即可输出频次统计,对应修改y轴标签即可,示例代码如下:
hist(time_col,"hours", main = "各小时事故发生频次直方图", xlab = "小时", ylab = "出现频次", col="green", freq = TRUE)
补充说明:如果时间向量间隔均匀,freq默认值为TRUE,之前得到密度图大概率是因为时间跨度不均匀,手动指定freq=TRUE即可强制输出频次。
方法2:先提取小时字段再统计
如果需要更灵活的自定义统计逻辑,可以先提取每个时间对应的小时数再绘图:
- 用lubridate包处理时间提取小时字段:
# 未安装lubridate的话先执行 install.packages("lubridate") library(lubridate) time_hour <- hour(time_col)
- 绘制频次直方图:
hist(time_hour, breaks = 0:24, right = FALSE, main = "各小时事故发生频次直方图", xlab = "小时", ylab = "出现频次", col="green")
参数说明:right = FALSE设置区间为左闭右开,符合常规小时统计逻辑(比如00:00-01:00计入0小时区间)。
如果需要直接获取各小时的频次数值,直接运行table(time_hour)即可得到统计结果。
你之前生成的密度直方图参考:
内容的提问来源于stack exchange,提问作者nEEm
相关产品推荐
相关产品推荐

