gpt4 book ai didi

r - 计算分组行集内耗时

转载 作者:行者123 更新时间:2023-12-03 23:53:17 24 4
gpt4 key购买 nike

我知道有很多 stackoverflow 页面询问如何计算行之间的日期时间差异,但我还没有找到可以回答我的特定问题的页面。大多数人对后续行之间的数据感兴趣,但我需要为一系列个人计算每个人已经过了多少时间。例如

id      time (of the day)
1 12:00:40
1 12:06:35
1 12:12:00
2 14:59:22
2 15:10:40

我想计算这样的东西:

   id      total time (seconds)
1 760
2 678

在此先感谢您的帮助,如果在其他地方已经回答了这个问题,我深表歉意,我没能找到。

最佳答案

一个完整的基础 R 方法

aggregate(time~id, transform(df, time = as.POSIXct(time, format = "%H:%M:%S")), 
function(x) sum(as.numeric(diff(x), "secs")))

# id time
#1 1 680
#2 2 678

使用dplyrlubridate,我们首先将time转换为Period类并将其转换为秒并取其差的

library(dplyr)
library(lubridate)

df %>%
group_by(id) %>%
summarise(total_time = sum(diff(seconds(hms(time)))))


# id total_time
# <int> <dbl>
#1 1 680
#2 2 678

关于r - 计算分组行集内耗时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54042886/

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