Нахождение промежутков времени

По совпадению я обнаружил, что в моем первом столбце, векторе, структурированном как 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 ответ

Немного 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
Другие вопросы по тегам