R 基于标准的计数值

R 基于标准的计数值,r,R,我有一个数据框,其中一列包含时间数据YYYY-MM-DD hh:MM:ss,另一列包含员工可用性数字—特定时间可用的员工人数 我想计算可用工作人员的数量,其中小时在00-23之间相同,分钟值在00-59之间 考虑以下示例数据帧: 我想在下一个小时开始之前,计算一下每小时可用的员工人数,直到一秒钟(含一秒钟) 以df为例,我想计算小时值等于7且相应分钟数在00-59(含)之间的可用员工人数 在本例中,7:00:00到08:00:00之间可用的员工人数为105 10+20+25+20+18+12 如

我有一个数据框,其中一列包含时间数据YYYY-MM-DD hh:MM:ss,另一列包含员工可用性数字—特定时间可用的员工人数

我想计算可用工作人员的数量,其中小时在00-23之间相同,分钟值在00-59之间

考虑以下示例数据帧:

我想在下一个小时开始之前,计算一下每小时可用的员工人数,直到一秒钟(含一秒钟)

以df为例,我想计算小时值等于7且相应分钟数在00-59(含)之间的可用员工人数

在本例中,7:00:00到08:00:00之间可用的员工人数为105 10+20+25+20+18+12

如何实现这一点?

以下是lubridate plus dplyr解决方案:

library(lubridate);
library(dplyr);
df %>%
    mutate(
        TIME = ymd_hms(TIME),
        TIME.hr.bin = floor_date(TIME, unit = "hour")) %>%
    group_by(TIME.hr.bin) %>%
    summarise(n = sum(STAFF_AVAIL));
#  TIME.hr.bin             n
#  <dttm>              <int>
#1 2018-01-01 06:00:00     5
#2 2018-01-01 07:00:00   105
#3 2018-01-01 08:00:00    47
样本数据 基准R:切割日期+合计
library(lubridate);
library(dplyr);
df %>%
    mutate(
        TIME = ymd_hms(TIME),
        TIME.hr.bin = floor_date(TIME, unit = "hour")) %>%
    group_by(TIME.hr.bin) %>%
    summarise(n = sum(STAFF_AVAIL));
#  TIME.hr.bin             n
#  <dttm>              <int>
#1 2018-01-01 06:00:00     5
#2 2018-01-01 07:00:00   105
#3 2018-01-01 08:00:00    47
df <- read.table(text =
    "TIME                   STAFF_AVAIL
'2018-01-01 06:58:53'    05
'2018-01-01 07:00:00'    10
'2018-01-01 07:04:45'    20
'2018-01-01 07:04:55'    25
'2018-01-01 07:21:00'    20
'2018-01-01 07:58:04'    18
'2018-01-01 07:59:59'    12
'2018-01-01 08:00:00'    17
'2018-01-01 08:01:04'    30", header = T)