我有一个列("timestamp2"),包括66次,并希望为每次查找最近的时间,然后计算这两次的时间间隔。

例如,"timestamp2“栏中的第一次是"2020-08-18 : 18:15:37",最近的时间应为"2020-08- 18 :15:44”,这两次之间的时间间隔应为6秒。
对于在时间列中找到给定时间的最近时间的问题,有许多解决方案。我的问题有点不同,因为它需要在给定列中搜索,并且需要时间和时间间隔。
发布于 2020-09-02 13:19:53
例如,您可以使用order和diff
DF <- data.frame(i = 1:66, timestamp2 = Sys.time()-runif(66, min = 1, max = 100))
DF <- DF[order(DF$timestamp2),]
DF$timediff <- c(NA_real_, diff(DF$timestamp2)) i timestamp2 timediff
64 64 2020-09-02 15:11:47 NA
65 65 2020-09-02 15:11:48 1.1161799431
58 58 2020-09-02 15:11:52 3.4341783524
13 13 2020-09-02 15:11:53 1.0964329243
5 5 2020-09-02 15:11:55 2.0064251423
59 59 2020-09-02 15:11:55 0.0007073879或者,如果您只想得到结果向量:diff(sort(DF$timestamp2))
https://stackoverflow.com/questions/63705932
复制相似问题