#r #lubridate
#r #lubridate
Вопрос:
У меня есть журнал многолетних сеансов медитации, на каждом из которых указано время начала и окончания. Я хочу создать красивые графики моего самого активного времени дня. (Другими словами, как часто относительно я медитирую в 7 утра по сравнению с другим временем суток?)
ID StartTime EndTime
1 2679 2019-03-23 07:00:00 2019-03-23 07:30:00
2 2678 2019-03-22 07:00:00 2019-03-22 07:30:00
3 2677 2019-03-21 07:00:00 2019-03-21 07:30:00
4 2676 2019-03-20 07:00:00 2019-03-20 07:30:00
5 2675 2019-03-19 07:00:00 2019-03-19 07:30:00
6 2674 2019-03-18 09:00:00 2019-03-18 09:30:00
7 2673 2019-03-18 09:00:00 2019-03-18 09:30:00
8 2672 2019-03-18 09:00:00 2019-03-18 10:00:00
9 2671 2019-03-15 07:00:00 2019-03-15 08:00:00
10 2670 2019-03-14 07:00:00 2019-03-14 08:00:00
dput версия:
structure(list(ID = 2679:2670, StartTime = structure(c(1553324400,
1553238000, 1553151600, 1553065200, 1552978800, 1552899600, 1552899600,
1552899600, 1552633200, 1552546800), class = c("POSIXct", "POSIXt"
), tzone = "UTC"), EndTime = structure(c(1553326200, 1553239800,
1553153400, 1553067000, 1552980600, 1552901400, 1552901400, 1552903200,
1552636800, 1552550400), class = c("POSIXct", "POSIXt"), tzone = "UTC")), row.names = c(NA,
-10L), class = "data.frame")
Я могу взломать это, превращая каждый день в массив из 1440 элементов включенных / исключенных минут и суммируя их. Получаем что-то вроде этого
Но я чувствую, что должен быть способ получше. Вероятно, используется Interval
объект из lubridate
и / или dplyr
. Но я не разобрался, как это сделать.
Комментарии:
1. пожалуйста, предоставьте данные, используя
dput()
2. предоставьте нам ожидаемый результат. Мне будет легче помочь