我需要将 %H:%M:%S (class = factor) 格式的时间间隔转换为 class = difftime。我目前正在使用 as.difftime() 来执行此操作,但是当小时值 > 23 时它返回 NA。
TimeElapsed_raw = as.factor(c("03:59:59", "21:00:00", "01:03:46", "44:00:00", "24:59:59"))
TimeElapsed = as.difftime(as.character(TimeElapsed_raw), format = "%H:%M:%S")
TimeElapsed
Time differences in hours
[1] 3.999722 21.000000 1.062778 NA NA
无论我是否在 as.difftime() 中包含格式语句,我都有同样的问题:
as.difftime("65:01:17")
Time difference of NA secs
但这有效:
as.difftime(65.1, units = "hours")
Time difference of 65.1 hours
我也尝试过使用 lubridate as.duration() 函数,但它计算的值似乎很荒谬。
as.duration(TimeElapsed_raw)
[1] "2s" "3s" "1s" "5s" "4s"
任何帮助,将不胜感激!