【问题标题】:Histogram for occurrences by hour-of-day一天中每小时发生的直方图
【发布时间】:2021-11-23 06:54:44
【问题描述】:

我有一个包含时间的向量。我想知道每小时的时间频率。 矢量看起来像这样

head(time_col)
[1] "2021-11-23 09:00:00 GMT" "2021-11-23 13:55:00 GMT"
[3] "2021-11-23 01:25:00 GMT" "2021-11-23 01:50:00 GMT"
[5] "2021-11-23 02:25:00 GMT" "2021-11-23 01:30:00 GMT"

hist(time_col,"hours",main = "Density of accidents in each hour" , xlab = "hour" , ylab = 
"density",col="green")

我想要一个频率直方图

【问题讨论】:

    标签: r histogram


    【解决方案1】:

    您的数据:

    df <- data.frame(time_col=c("2021-11-23 09:00:00 GMT",
    "2021-11-23 13:55:00 GMT",
    "2021-11-23 01:25:00 GMT",
    "2021-11-23 01:50:00 GMT",
    "2021-11-23 02:25:00 GMT",
    "2021-11-23 01:30:00 GMT") )
    

    加载库:

    library(lubridate) # for date-time manipulation
    library(tidyverse) # for the handy '%>%', mutate() and summarise()
    library(ggplot2) # for plotting
    

    按小时计算出现次数

    df %>% mutate(time_col = ymd_hms(time_col)) %>% 
           mutate(hour = hour(time_col)) %>% 
           group_by(hour) %>% summarise(freq = n()) -> hour_freqs 
    

    ggplot2 绘图方法:

    ggplot(hour_freqs, aes(x=hour, y=freq)) +
      geom_bar(fill = 'green', stat='identity') 
    

    对于基础 R,您可以执行以下操作:

    barplot(hour_freqs$hour, hour_freqs$freq)
    axis(2, seq(0, 5, by=1))
    

    【讨论】:

    • 是的,这正是我想要的。谢谢:) :) :)
    • 很高兴能帮上忙!如果您对我的回答感到满意,您介意批准我的回答吗?谢谢!
    猜你喜欢
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    • 2021-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多