找时间差距

时间:2017-05-23 10:19:55

标签: r time-series gaps-in-data

巧合的是,我发现我的第一个专栏,一个结构为POSIXct的矢量,在其中有时间空白。我的数据集包含每分钟的观察值,但是,例如在10:04:00到10:07:00之间,2个值缺失:

Date_time  
2016-05-11 10:02:00  
2016-05-11 10:03:00  
2016-05-11 10:04:00  
2016-05-11 10:07:00  
2016-05-11 10:08:00

我正在使用大型数据集,我想知道有多少时间差距存在,以及我可以在哪个位置找到它们。我尝试使用seq()命令,但我不知道如何将它用于POSIXct类的值。 谢谢

1 个答案:

答案 0 :(得分:1)

一些data.table解决方案:

library(data.table)
library(dplyr)
dt <- read.csv(text ='Date_time  
2016-05-11 10:02:00
2016-05-11 10:03:00
2016-05-11 10:04:00
2016-05-11 10:07:00
2016-05-11 10:08:00', as.is = T) %>% setDT()
dt[, Date_time := strptime(Date_time, "%Y-%m-%d %H:%M:%S")]
dt[, diff := Date_time - shift(Date_time)][, .N, by = diff]
##       diff N
## 1: NA mins 1
## 2:  1 mins 3
## 3:  3 mins 1