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
输出版本:
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
。但我还没有弄清楚如何做到这一点。
解决方案
推荐阅读
- c - 如果我不打印变量的地址,C 中的指针算术不会指向正确的变量
- javascript - IONIC 5 如何在没有白屏的情况下重新加载页面
- java - 尝试在空对象引用上调用虚拟方法 'android.graphics.Bitmap android.graphics.drawable.BitmapDrawable.getBitmap()'
- python - 在 vs 代码的终端中运行 python 会给我一个语法错误,但是,手动选择代码并运行它不会给我语法错误
- machine-learning - 在 Lipschitz Continuous 上使用三次样条(平滑函数)
- python - 尝试让外部库模块第一次在 python 中工作
- javascript - 需要帮助使用 Vuex 使用 Firebase Rest API 发送 DELETE 请求
- gnupg - 安装openvpn客户端的问题
- firebase - 无法在 M1 上的 Xcode 13 上使用 Flutter Firestore 构建 iOS 应用程序
- python - 将预期对象列表提供给要实例化的类