У меня есть кадр данных, который агрегируется за минуту (где одна строка представляет одну минуту в формате YYYY-MM-DD HH:MM:SS
).
Я хочу сгруппировать каждое минутное значение в соответствующие значения часов / бинов.
Я также извлек значение часа из поля даты в другой столбец, чтобы упростить группировку данных (YYYY-MM-DD HH
).
Я рассмотрел несколько подходов / ответов, в которых люди рекомендуют использовать lubridate
/ dplyr
/ anytime
, но, похоже, ни один подход не сработал полностью для меня.
Мой фрейм данных:
> df
date hour available busy
1 2018-03-01 01:00:00 2018-03-01 01:00:00 1 1
2 2018-03-01 01:01:00 2018-03-01 01:00:00 1 1
3 2018-03-01 01:02:00 2018-03-01 01:00:00 1 1
4 2018-03-01 01:03:00 2018-03-01 01:00:00 1 1
5 2018-03-01 01:04:00 2018-03-01 01:00:00 1 1
6 2018-03-01 01:05:00 2018-03-01 01:00:00 1 1
...
7907 2018-03-14 00:54:00 2018-03-14 1 0
7908 2018-03-14 00:55:00 2018-03-14 1 0
7909 2018-03-14 00:56:00 2018-03-14 2 0
7910 2018-03-14 00:57:00 2018-03-14 1 0
7911 2018-03-14 00:58:00 2018-03-14 1 0
7912 2018-03-14 00:59:00 2018-03-14 1 0
Я хочу сгруппировать все по hour
для каждой даты (я не против, если я использую столбец hour
или значения сгруппированы по значению HH
в столбце date
) и список совокупное число available
и busy
для каждой часовой группы.
Мой желаемый выходной df будет выглядеть так (обратите внимание, что это фиктивные значения, а не фактические значения) :
date available busy
1 2018-03-01 01:00:00 1 6
2 2018-03-01 02:00:00 2 11
3 2018-03-01 03:00:00 10 8
...
450 2018-03-14 08:00:00 11 1
451 2018-03-14 09:00:00 24 19
452 2018-03-14 10:00:00 12 4