【发布时间】:2018-11-04 04:03:03
【问题描述】:
我试图以小时为单位找出两个日期之间的差异,对于超过一天的时间差异,我得到了非常离谱和不正确的数字。
以下是数据示例:
Observation Status DateTime
1 Active 2016-11-04 22:32:49
2 Inactive 2016-11-05 08:30:56
我正在运行这个命令:
getDiff <- function(x) {
difftime(shift(x, fill = NA, type = "lead"), x, units = "hours")
}
diff_result <- dataframe[, time.diff := ifelse(Status == "Active",
getDiff(DateTime), NA)]
我得到以下输出:
Observation Status DateTime Time.diff
1 Active 2016-11-04 22:32:49 8757.884
2 Inactive 2016-11-05 08:30:56
此命令适用于所有其他不会在不同日期发生的差异。 正确答案应该是 10 小时左右,不超过 8000 小时。
还有,
> class(DataFrame$DateTime)
[1] "POSIXct" "POSIXt"
提前谢谢你!
【问题讨论】:
标签: r date data-science posixct difftime