【发布时间】:2023-03-12 20:05:02
【问题描述】:
我正在计算数据框中两个时间戳之间的小时差。一个时间戳在前一行,即lasttime,另一个在前一行,即origtime。这是一个小例子:-
library(dplyr)
df<-structure(list(DateTime_Start = structure(c(1612284131.736, 1612296614.851
), tzone = "UTC", class = c("POSIXct", "POSIXt")), DateTime_End = structure(c(1612284195.736,
1612296715.851), tzone = "UTC", class = c("POSIXct", "POSIXt"
))), row.names = c(NA, -2L), class = "data.frame")
df
# DateTime_Start DateTime_End
#1 2021-02-02 16:42:11 2021-02-02 16:43:15
#2 2021-02-02 20:10:14 2021-02-02 20:11:55
lasttime<-lag(df$DateTime_End)
lasttime
#[1] NA "2021-02-02 16:43:15 UTC"
origtime<-lead(df$DateTime_Start)
origtime
#[1] "2021-02-02 20:10:14 UTC" NA
您可以注意到,它在lasttime 和origtime 的每次运行旁边返回一个NA,似乎是df 中行上另一个时间戳的占位符。然后当我尝试计算difftime 时,我得到了这个:-
difftime(origtime,lastime)
#Time differences in secs
#[1] NA NA
我认为这是由origtime 和lasttime 中的NA 引起的。谁能指出一个解决方案来区分这两个日期时间对象?
非常感谢!
【问题讨论】: