什么是找到时间差异的最快方法

时间:2014-11-02 19:35:00

标签: r diff timespan

在R中寻找时差的最快方法是什么: 第1行到第2行,第2行到第3行,第3行到第4行等等。 或者从1到2的时间跨度,2到3,......

最后,我前往一个显示所有差异/时间范围的功能,例如> 7000ms

HH:MM:SS:MIS * *毫秒 18:41:24.244 18:41:29.290 18:41:34.259 18:41:55.040 18:42:15.556 18:42:21.587 18:42:25.509 18:42:31.009 18:42:39.072 18:42:59.025 18:43:03.134 18:43:06.712 18:43:47.244 18:43:53.353 18:43:59.181 18:44:14.744 18:44:22.572 18:44:40.040 18:44:44.900 18:44:48.884 18:44:53.744 18:45:01.134 18:45:56.884 18:46:01.384 18:46:05.915 18:46:10.025 18:46:13.837 18:46:18.275 18:46:28.931 18:46:41.259 18:46:44.619 18:46:50.619

2 个答案:

答案 0 :(得分:3)

目前还不清楚数据的格式是什么。我已将其作为字符向量导入:

head(times)
# [1] "18:41:24.244" "18:41:29.290" "18:41:34.259" "18:41:55.040" ...

然后,由于您需要差异,我们可以预先添加任意日期并转换为POSIXct

times <- as.POSIXct(paste("2014-01-01",times),format="%Y-%m-%d %H:%M:%OS")
diff(times)
# Time differences in secs
# [1]  5.046  4.969 20.781 20.516  6.031  3.922  5.500  8.063 19.953  4.109 ...

答案 1 :(得分:3)

从字符向量x

开始
head(x)
# [1] "18:41:24.244" "18:41:29.290" "18:41:34.259" "18:41:55.040"
# [5] "18:42:15.556" "18:42:21.587"

您可以将strptimediff

一起使用
st <- strptime(x, "%H:%M:%OS")
st[diff(st) > 7]
#  [1] "2014-11-02 18:41:34.259 PST" "2014-11-02 18:41:55.040 PST"
#  [3] "2014-11-02 18:42:31.009 PST" "2014-11-02 18:42:39.072 PST"
#  [5] "2014-11-02 18:43:06.712 PST" "2014-11-02 18:43:59.181 PST"
#  [7] "2014-11-02 18:44:14.744 PST" "2014-11-02 18:44:22.572 PST"
#  [9] "2014-11-02 18:44:53.744 PST" "2014-11-02 18:45:01.134 PST"
# [11] "2014-11-02 18:46:18.275 PST" "2014-11-02 18:46:28.931 PST"