如何解决在列中查找所有时间的最近时间
我有一个列(“ timestamp2”),其中包含66次,并且想要查找每个时间的最近时间,然后计算这两次的时间间隔。
例如,“ timestamp2”列中的第一时间是“ 2020-08-18 18:15:37”,距离该时间最近的时间应该是“ 2020-08-18 18:15:44”,这两次之间的时间间隔应为6秒。
对于在时间列中找到给定时间的最接近时间的问题,有许多解决方案。我的问题有所不同,因为它需要在给定的列中进行搜索,并且需要时间和时间间隔。
解决方法
您可以例如使用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))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。