繁体   English   中英

给定时间栏,如何在R中创建时间仓?

[英]Given time column, how can I create time bins in R?

给定一个具有3列的数据框:

date       time    respond 
1/1/2018   15:40   1
4/5/2017   08:25   0
3/4/2016   09:00   1
5/4/2017   09:25   1

....

我想将我的时间列分成24个容器-例如,对于我们的每个容器,如果我有50个样本,我希望在hour1到hour2(08:00-09:00)之间的所有时间代表08:00小时的容器,等等。

现在,当我实现此目标时,我想计算每个箱中有多少响应者:

bin08:00 = 10位响应者bin09:00 = 134位响应者

并使用ggplot2对其进行绘制。

另外,请指导我如何创建不同的箱图:从08:00到12:00 AM-每小时箱。 每15分钟12:00 AM-15:00垃圾桶等

请指导我该怎么做。

@akrun

一种方法是使用strptime将您的time列格式化为POSIX对象,然后对这些对象使用format向下舍入到小时,如下所示:

library(dplyr)

df$hour <- format(strptime(df$time, "%H:%M"), "%H:00")

df %>% group_by(hour) %>% summarize(respond = sum(respond))

# # A tibble: 3 x 2
#    hour respond
#   <chr>   <int>
# 1 08:00       0
# 2 09:00       2
# 3 15:00       1   

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM