Чтобы найти правильный уровень агрегации для моих данных, мне нужно разбить день на кадры разных размеров.
Пример данных:
da = data.frame(timestamp = c("2016-01-24 01:17:37 GMT" ,"2016-01-24 02:09:41 GMT", "2016-01-24 13:34:35 GMT", "2016-01-24 15:17:56 GMT", "2016-01-24 18:14:55 GMT"))
da
timestamp
1 2016-01-24 01:17:37 GMT
2 2016-01-24 02:09:41 GMT
3 2016-01-24 13:34:35 GMT
4 2016-01-24 15:17:56 GMT
5 2016-01-24 18:14:55 GMT
Например, я могу начать вырезать день в 24 частях. Затем с 0:00 до 1:00 - это часть 1, с 1:00 до 2:00 - это часть 2 и т. Д. c.
da2 = data.frame(timestamp = c("2016-01-24 01:17:37 GMT" ,"2016-01-24 02:09:41 GMT", "2016-01-24 13:34:35 GMT", "2016-01-24 15:17:56 GMT", "2016-01-24 18:14:55 GMT"),
daypart = c(2, 3, 14, 16, 19))
da2
timestamp daypart
1 2016-01-24 01:17:37 GMT 2
2 2016-01-24 02:09:41 GMT 3
3 2016-01-24 13:34:35 GMT 14
4 2016-01-24 15:17:56 GMT 16
5 2016-01-24 18:14:55 GMT 19
Или на 48 частей. Затем с 0:00 до 0:30 будет часть 1, с 0:30 до 1:00 часть 2 et c:
da48 = data.frame(timestamp = c("2016-01-24 01:17:37 GMT" ,"2016-01-24 02:09:41 GMT", "2016-01-24 13:34:35 GMT", "2016-01-24 15:17:56 GMT", "2016-01-24 18:14:55 GMT"),
+ daypart = c(3, 5, 28, 31, 37))
da48
timestamp daypart
1 2016-01-24 01:17:37 GMT 3
2 2016-01-24 02:09:41 GMT 5
3 2016-01-24 13:34:35 GMT 28
4 2016-01-24 15:17:56 GMT 31
5 2016-01-24 18:14:55 GMT 37
Я нашел этот пост Поз. О том, как преобразовать время в категориальное переменная , которая уже помогает, но как я могу кодировать это так, чтобы мне нужно было только изменить количество частей, на которые я хочу разрезать день?