gpt4 book ai didi

r - 总结时期

转载 作者:行者123 更新时间:2023-12-05 05:11:43 25 4
gpt4 key购买 nike

我的表中有一个 lubridate period 列,如下所示。

workerID   worked_hours
02 08H30M00S
02 08H00M00S
03 08H00M00S
03 05H40M00S

我想要实现的是对 workerID 的工作小时数求和。而且我还希望它采用 HH:MM:SS 格式,即使小时数超过 24,我也不希望它有一天,而是让小时数累积到超过 24。我试过与

df %>%
group_by(workerID) %>%
summarise(sum(worked_hours))

但这会返回一个 0

最佳答案

您可以使用 lubridate 包,它可以更轻松地处理时间。在您的情况下,我们需要首先转换为 hms(时分秒)类,按工作人员 ID 分组并取 sum。但是,为了以 HH:MM:SS 格式获取它,我们需要将其转换为句点,即

library(tidyverse)
library(lubridate)

df %>%
mutate(new = as.duration(hms(worked_hours))) %>%
group_by(workerID) %>%
summarise(sum_times = sum(new)) %>%
mutate(sum_times = seconds_to_period(sum_times))

这给出了,

# A tibble: 2 x 2
workerID sum_times
<int> <S4: Period>
1 2 16H 30M 0S
2 3 13H 40M 0S

关于r - 总结时期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55257828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com