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