gpt4 book ai didi

r - 将时间以秒为单位转换为小时 :Minutes:Seconds

转载 作者:行者123 更新时间:2023-12-04 11:19:21 26 4
gpt4 key购买 nike

我目前正在研究有关 super 马拉松的数据。有许多检查点带有每个运行者在该检查点上的时间的时间戳,但是当我试图研究分段时间时,我需要计算半场时间,这本身不是问题,但我遇到了格式问题。

我抓取的数据如下所示:

# A tibble: 397 x 15
General Name `12` `1` `2` `3` `4` `5` `6` `7` `8` `9` `10` `11`
<dbl> <chr> <time> <time> <time> <time> <time> <time> <time> <time> <time> <time> <time> <time>
1 2 Chri… 10:02:17 00'00" 56'27" 01:36:58 03:23:54 05:05:31 05:53:18 06:17:25 06:54:33 07:33:36 08:22:16 08:55:23
2 3 Nico… 10:14:57 00'00" 55'47" 01:35:28 03:22:24 05:16:22 06:09:51 06:33:52 07:11:12 07:50:28 08:38:20 09:10:06
3 4 Maxi… 10:32:46 00'00" 55'42" 01:35:08 03:23:01 05:13:12 06:06:35 06:32:58 07:13:10 07:58:11 08:47:50 09:22:07
4 5 Diog… 10:42:56 00'00" 58'50" 01:42:46 03:34:29 05:36:03 06:29:57 06:54:23 07:35:31 08:14:50 09:03:12 09:38:53
5 6 Migu… 10:44:52 00'00" 56'27" 01:38:00 03:23:53 05:15:39 06:10:39 06:37:54 07:22:36 08:04:20 08:58:35 09:38:21
6 7 Jero… 10:52:52 00'00" 55'47" 01:35:06 03:21:35 05:20:53 06:16:44 06:43:40 07:24:17 08:11:34 09:03:10 09:37:00
7 8 Aroa… 10:55:36 00'00" 59'28" 01:44:40 03:40:16 05:38:53 06:33:51 07:01:58 07:44:36 08:27:52 09:17:12 09:49:58
8 9 Didi… 10:59:40 00'00" 59'28" 01:47:58 03:44:40 05:44:27 06:38:32 07:03:09 07:45:02 08:26:12 09:17:07 09:52:00
9 10 Ales… 11:01:28 00'00" 56'50" 01:37:40 03:28:33 05:20:52 06:15:39 06:42:38 07:27:43 08:07:42 09:01:04 09:43:31
10 11 Davi… 11:02:49 00'00" 57'08" 01:38:15 03:28:47 05:19:02 06:13:10 06:40:44 07:24:51 08:09:10 09:06:07 09:45:14

(当前的时间戳格式是我想要保留的。)

我认为问题在于数字四舍五入,因为我通过这样做来计算半场时间:
miut_joined <- miut_joined %>%
drop_na() %>%
mutate(`6.5` = (`5`+((`6`-`5`)/5.6)*2.5))

(5.6 和 2.5 是现有检查点之间以及这两个检查点中的第一个与半标记之间的特定距离。)
结果并不总是以整数形式出现。

当我这样做时,我得到的数据如下所示:
 miut_melted %>% select(-Name) %>% filter(Checkpoint == 6.5)
# A tibble: 397 x 3
General Checkpoint Time
<dbl> <chr> <dbl>
1 2 6.5 19611
2 3 6.5 20417
3 4 6.5 20222
4 5 6.5 21608
5 6 6.5 20414
6 7 6.5 20751
7 8 6.5 21806
8 9 6.5 22117
9 10 6.5 20720
10 11 6.5 20592
# … with 387 more rows

我试着玩弄 lubridate::seconds_to_period但结果数据与 ggplot2 效果不佳.

如何以秒为单位将时间正确转换为小时:分钟:秒?

最佳答案

你可以用 lubridate包裹:

total_secs <- 100000
new_time <- seconds_to_period(total_secs)
sprintf('%02d:%02d:%02d', new_time@hour, minute(new_time), second(new_time))
# [1] "03:46:40"

关于r - 将时间以秒为单位转换为小时 :Minutes:Seconds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57661261/

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