有没有办法在只处理时间(没有日期)的类中将时间数据存储在R中?我不需要包含日期,我觉得它会占用额外的内存和可视化空间。我正在寻找一个只处理时间的精益课程,如下所示:
t1 = as.Time("10:38")
t2 = as.Time("10:39")
t1-t2
存在as.Date
功能,但时间对应的功能会很棒。 POSIXct
存储的信息过多。
更新:包chron
需要额外的工作来添加秒,而导致负值的时间减法不再格式化为时间:
>t1 = times(paste0("10:38",":00"))
>t2 = times(paste0("10:39",":00"))
> t1-t2
[1] -0.0006944444
> t2-t1
[1] 00:01:00
答案 0 :(得分:4)
正如我之前的评论,这里是period
包中的lubridate
类的示例,我认为它可能对您有用。有关详细信息,请?Period-class
。
library(lubridate)
t1 <- hm("10:38")
t1
[1] "10H 38M 0S"
t2 <- hm("10:39")
t1 - t2
[1] "-1M 0S"
答案 1 :(得分:0)
包data.table
有一个新类ITime,它可以理想地解决这个问题。
library(data.table)
> as.ITime("12:00")-as.ITime("11:10:01")
[1] "00:49:59"