当某些值的持续时间超过 24 小时时,如何将字符串值解析为可行的 POSIXct 格式?

How can I parse string values to a workable POSIXct format when the duration of some of the values are over 24 hours?

请参阅 this 我问的上一个问题。

我在 R 中有一个数据集,其值以小时、分钟和秒格式显示。但是,有的值只有小时和分钟,有的只有分和秒,有的只有分,有的只有秒。它的格式也不是非常有利。当我对其使用 parse_date_time() 时,解析仅适用于小于 24 小时的值。示例数据如下:

example <- as.data.frame(c("25h28m", "17m7s", "15m", "14s"))

使用 parse_date_time(),我得到这个:

Column Title
NA
00:17:07
00:15:00
00:00:14

但是想要得到这个:

Column Title
25:28:00
00:17:07
00:15:00
00:00:14

我们可以通过从 lubridate 转换为 period class 然后使用 hmshms

来做到这一点
library(lubridate)
hms::hms(as.period(toupper(example)))

-输出

25:28:00
00:17:07
00:15:00
00:00:14

数据

example <- c("25h28m", "17m7s", "15m", "14s")