gpt4 book ai didi

r - 从存储为字符的时间变量中获取时间差

转载 作者:行者123 更新时间:2023-12-04 10:55:51 25 4
gpt4 key购买 nike

我的数据框中有两个字符变量 start_timestop_time :

  start_time     stop_time
<chr> <chr>
1 19:5:00 19:11:00
2 20:33:37 20:34:39
3 20:23:00 20:23:38
4 20:12:00 20:13:00
5 20:00:39 20:00:39

我想计算 start_time 之间的差异和 stop_time以 dplyr 的分钟数计算。我的问题是这两个变量被表示为一个字符。

预期输出:
    diff_time    
<dbl>
1 6
2 1.2
3 0.38
4 1
5 0.39

最佳答案

library(dplyr)
library(lubridate)

df1 %>%
mutate(duration = seconds_to_period(as.numeric(difftime(
strptime(stop_time, "%H:%M:%S"),
strptime(start_time, "%H:%M:%S"),
units = "secs"))))

#> start_time stop_time duration
#> 1 19:5:00 19:11:00 6M 0S
#> 2 20:33:37 20:34:39 1M 2S
#> 3 20:23:00 20:23:38 38S
#> 4 20:12:00 20:13:00 1M 0S
#> 5 20:00:39 20:00:39 0S
数据:
read.table(text="  start_time     stop_time
19:5:00 19:11:00
20:33:37 20:34:39
20:23:00 20:23:38
20:12:00 20:13:00
20:00:39 20:00:39", stringsAsFactors=F, header=T) -> df1

关于r - 从存储为字符的时间变量中获取时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58611777/

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