Во-первых, ваши данные даже не отсортированы в вашем столбце времени. Итак, давайте исправим это.
Во-вторых, все типы данных R могут индексироваться по позиции или путем логического сравнения. Так что это все, что вам нужно.
Смоделированный пример, поскольку вы не предоставили воспроизводимый код:
df <- data.frame(t=ISOdatetime(2019, 1, 1, 10, 0, 0) + 0:9*60, v=LETTERS[1:10])
df
df[ df$t > ISOdatetime(2019, 1, 1, 10, 2, 0) & df$t < ISOdatetime(2019, 1, 1, 10, 9, 0), ]
Вывод:
R> df <- data.frame(t=ISOdatetime(2019, 1, 1, 10, 0, 0) + 0:9*60, v=LETTERS[1:10])
R> df
t v
1 2019-01-01 10:00:00 A
2 2019-01-01 10:01:00 B
3 2019-01-01 10:02:00 C
4 2019-01-01 10:03:00 D
5 2019-01-01 10:04:00 E
6 2019-01-01 10:05:00 F
7 2019-01-01 10:06:00 G
8 2019-01-01 10:07:00 H
9 2019-01-01 10:08:00 I
10 2019-01-01 10:09:00 J
!R> df[ df$t > ISOdatetime(2019, 1, 1, 10, 2, 0) & df$t < ISOdatetime(2019, 1, 1, 10, 9, 0), ]
t v
4 2019-01-01 10:03:00 D
5 2019-01-01 10:04:00 E
6 2019-01-01 10:05:00 F
7 2019-01-01 10:06:00 G
8 2019-01-01 10:07:00 H
9 2019-01-01 10:08:00 I
R>
Существует множество других способов создания объектов Datetime. as.POSIXct()
один, я использую anytime::anytime()
много для анализа (но тогда я тоже написал это ...)