У меня есть набор данных, записанных с интервалом в 5 минут, который также включает данные с интервалом в 1 минуту, обозначенные _1 - _5 в заголовке. Каждая строка представляет собой 5-минутный интервал.
datetime temp speed_1 speed_2 speed_3 speed_4 speed_5
20190710 09:00:00 21 13 14 26 29 32
20190710 09:05:00 21 28 28 29 38 12
20190710 09:10:00 20 8 15 29 30 19
20190711 11:12:00 18 6 9 18 51 49
20190711 11:17:00 17 49 48 48 30 10
Фактический набор данных имеет дополнительные 25 столбцов данных, регистрируемых с 5-минутными интервалами, и состоит примерно из 25000 строк.
Я ищу эффективный способ анализа скорости на каждый день. Например, если бы я хотел построить график скорости для каждого дня, мне потребовалось бы от speed_1 до speed_5 с самого раннего входа в определенный день, скажем, 09:00:00, а затем от speed_1 до speed_5 со следующего раза, с 09:05:00, и так далее в течение всего дня.
В настоящее время я создал дополнительный фрейм данных для скорости, которая заполняет время, чтобы дать:
datetime speed
20190710 09:00:00 13
20190710 09:01:00 14
20190710 09:02:00 26
20190710 09:03:00 29
20190710 09:04:00 32
Это приводит к получению второго df равного 125000 записи. Мне было интересно, есть ли более эффективный с точки зрения памяти способ анализа исходного набора данных, поскольку наборы данных могут значительно вырасти в будущем.
Изменить: добавлен воспроизводимый код
structure(list(time = structure(1:3, .Label = c("20190710 09-00-00", "20190710 09-05-00", "20190710 09-10-00"), class = "factor"), temp = c(21, 21, 20), speed_1 = c(13, 28, 8), speed_2 = c(14, 28, 15), speed_3 = c(26, 29, 29), speed_4 = c(29, 38, 30), speed_5 = c(32, 12, 19)), .Names = c("time", "temp", "speed_1", "speed_2", "speed_3", "speed_4", "speed_5"), row.names = c(NA, -3L), class = "data.frame")