1

我有一份学生在平台上花费了多少时间的清单。该平台将数据作为累积时间发送给我,这意味着我的时间大于 24 小时。我一直在使用 Chron 包对这个时间进行排序和操作,我刚刚意识到它不接受大于 24 的时间值。我可以将其转换为秒,但我想保持 HH% MM% S % 显示格式。

> time <- chron(times = "24:55:00")
Warning message:
In convert.times(times., fmt) :
time-of-day entries out of range in positions 1 set to NA
> time
Time in days:
[1] NA
4

2 回答 2

3

我强烈建议在处理日期时使用lubridatefrom tidyverse

library(lubridate)
foo <- "24:55:00"

bar <- hms(foo)
bar
[1] "24H 55M 0S"

class(bar)
[1] "Period"
attr(,"package")
[1] "lubridate"

# Time in days
bar / hours(24)
[1] 1.038194
于 2017-09-14T19:23:38.820 回答
2

您可以改用包hms中的函数lubridate

hms("24:55:00") - hms("26:45:00")
## [1] "-2H 10M 0S"
于 2017-09-14T19:23:07.907 回答