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 如何实现这一点?以下是lubridate plus dplyr解决方案: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 如
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)