as.difftime R的NA差异

时间:2017-12-19 01:34:36

标签: r difftime

它似乎与Find time difference in days with R重复,但我想它不是。

问题很简单。我有两个时间戳(format='%H:%M:%S'):

times <- c('02:51:43', '02:45:52')

我想计算时差,但是我的尝试会产生不必要的行为:

as.difftime(times[1], times[2])
# Time difference of NA secs

我尝试将formatunits='secs'一起指定,但我得到的错误是未使用参数time2

有人可以给我一个提示我犯错的提示吗? (提前抱歉,我甚至不确定它是否可以重现。)

2 个答案:

答案 0 :(得分:1)

我们可以将times转换为POSIXct格式,然后减去

x1 <- as.POSIXct(times, format = "%H:%M:%S", tz = "UTC")
x1[1] - x1[2]

#Time difference of 5.85 mins

也等同于

difftime(x1[1], x1[2]) 

答案 1 :(得分:0)

我也遇到了这个问题,我再次为该对象分配了日期时间类,然后它起作用了。

假设我有2个日期时间对象:

day1<-as.Date('2018-12-31')
day2<-as.Date('2019-12-31')

但是发生了“ NA秒的时差”,所以我只是这样做:

day1<-as.Date(day1)
day2<-as.Date(day2)

然后工作正常:

difftime(day2,day1,units="days")
#Time difference of 365 days

希望这会有所帮助。