根据R中的分钟数据创建15分钟的时间间隔

adrian1121

我有一些以以下方式格式化的数据:

time     count 
00:00    17
00:01    62
00:02    41

所以我从00:00到23:59,并且每分钟都有一个计数器。我想以15分钟为间隔对数据进行分组,以便:

time           count
00:00-00:15    148   
00:16-00:30    284

我已经尝试过手动执行此操作,但是这很累,因此我确定必须有一个函数或某项功能才能轻松执行此操作,但是我还没有弄清楚如何执行此操作。

我真的很感谢您的帮助!

非常感谢你!

eipi10

对于POSIXct格式的数据,您可以使用此cut功能创建15分钟的分组,然后按这些分组进行汇总。下面的代码显示了如何base Rdplyrdata.table软件包以及如何使用软件包。

首先,创建一些假数据:

set.seed(4984)
dat = data.frame(time=seq(as.POSIXct("2016-05-01"), as.POSIXct("2016-05-01") + 60*99, by=60),
                 count=sample(1:50, 100, replace=TRUE))

基数R

cut 将数据分为15分钟:

dat$by15 = cut(dat$time, breaks="15 min")
                   time count                by15
1   2016-05-01 00:00:00    22 2016-05-01 00:00:00
2   2016-05-01 00:01:00    11 2016-05-01 00:00:00
3   2016-05-01 00:02:00    31 2016-05-01 00:00:00
...
98  2016-05-01 01:37:00    20 2016-05-01 01:30:00
99  2016-05-01 01:38:00    29 2016-05-01 01:30:00
100 2016-05-01 01:39:00    37 2016-05-01 01:30:00

现在,aggregate通过新的分组列,将其sum用作聚合函数:

dat.summary = aggregate(count ~ by15, FUN=sum, data=dat)
                 by15 count
1 2016-05-01 00:00:00   312
2 2016-05-01 00:15:00   395
3 2016-05-01 00:30:00   341
4 2016-05-01 00:45:00   318
5 2016-05-01 01:00:00   349
6 2016-05-01 01:15:00   397
7 2016-05-01 01:30:00   341

dplyr

library(dplyr)

dat.summary = dat %>% group_by(by15=cut(time, "15 min")) %>%
  summarise(count=sum(count))

数据表

library(data.table)

dat.summary = setDT(dat)[ , list(count=sum(count)), by=cut(time, "15 min")]

更新:要回答评论,在这种情况下,每个分组间隔的终点是as.POSIXct(as.character(dat$by15)) + 60*15 - 1换句话说,分组间隔的终点是15分钟减去该间隔开始的一秒。我们添加60 * POSIXct15-1,因为以秒为单位。as.POSIXct(as.character(...))是因为cut返回一个因子,这会将其转换回日期时间,以便我们可以对其进行数学运算。

如果希望终点到下一个间隔之前的最近分钟(而不是最近的秒),则可以选择as.POSIXct(as.character(dat$by15)) + 60*14

例如,如果您不知道间隔时间,因为您选择了间隔时间并让R选择间隔,则可以通过执行操作找到要添加的秒数max(unique(diff(as.POSIXct(as.character(dat$by15))))) - 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在R中以5分钟的时间间隔创建一个24小时向量

来自分类Dev

Python熊猫-根据数据间隔的长度,平均测量10分钟,得出15分钟平均值和60分钟平均值

来自分类Dev

Python熊猫-根据数据间隔的长度,平均测量10分钟,平均测量15分钟和平均测量60分钟

来自分类Dev

根据15分钟的间隔获取计数

来自分类Dev

舍入时间间隔最多为15分钟

来自分类Dev

在python中生成15分钟的时间间隔数组

来自分类Dev

mongoDB:$ dateToString格式以15分钟的间隔显示时间

来自分类Dev

以小时为间隔插入15分钟的日期时间

来自分类Dev

在R中以15分钟为增量过滤大量日期/时间数据

来自分类Dev

如何将数据库记录分组为15分钟的时间间隔

来自分类Dev

按日期对15分钟间隔的数据进行计数

来自分类Dev

从python pandas中的15分钟间隔数据中提取每小时数据

来自分类Dev

爪哇 - 创建的时间(15分钟)的时间间隔的当前时间和未来的设定时间之间的阵列

来自分类Dev

将分钟递增至最近的15分钟间隔

来自分类Dev

如何基于熊猫时间序列中的5分钟间隔创建组ID?

来自分类Dev

R:对于数据帧中的两列数据,平均每小时15分钟的数据

来自分类Dev

根据R中30分钟或更长时间的时差确定离散事件

来自分类Dev

如何使用不完整的数据集创建5分钟间隔的日期时间索引(Python)

来自分类Dev

如何使用不完整的数据集创建5分钟间隔的日期时间索引(Python)

来自分类Dev

在mysql中的开始时间和结束时间之间获取30分钟的间隔数据

来自分类Dev

舍入时间跨度到15分钟间隔

来自分类Dev

如何计算以每个日期的持续时间和15分钟的间隔记录的用户

来自分类Dev

将整数作为时间间隔为15分钟

来自分类Dev

舍入时间跨度到15分钟间隔

来自分类Dev

将日期时间插入预定义的15分钟间隔

来自分类Dev

我想将时间洗涤器切换为15分钟间隔

来自分类Dev

如何使bootstrap-datetimepicker显示间隔为15分钟的时间

来自分类Dev

将15分钟数据更改为R中的每日平均值

来自分类Dev

将15分钟数据更改为R中的每日平均值

Related 相关文章

  1. 1

    在R中以5分钟的时间间隔创建一个24小时向量

  2. 2

    Python熊猫-根据数据间隔的长度,平均测量10分钟,得出15分钟平均值和60分钟平均值

  3. 3

    Python熊猫-根据数据间隔的长度,平均测量10分钟,平均测量15分钟和平均测量60分钟

  4. 4

    根据15分钟的间隔获取计数

  5. 5

    舍入时间间隔最多为15分钟

  6. 6

    在python中生成15分钟的时间间隔数组

  7. 7

    mongoDB:$ dateToString格式以15分钟的间隔显示时间

  8. 8

    以小时为间隔插入15分钟的日期时间

  9. 9

    在R中以15分钟为增量过滤大量日期/时间数据

  10. 10

    如何将数据库记录分组为15分钟的时间间隔

  11. 11

    按日期对15分钟间隔的数据进行计数

  12. 12

    从python pandas中的15分钟间隔数据中提取每小时数据

  13. 13

    爪哇 - 创建的时间(15分钟)的时间间隔的当前时间和未来的设定时间之间的阵列

  14. 14

    将分钟递增至最近的15分钟间隔

  15. 15

    如何基于熊猫时间序列中的5分钟间隔创建组ID?

  16. 16

    R:对于数据帧中的两列数据,平均每小时15分钟的数据

  17. 17

    根据R中30分钟或更长时间的时差确定离散事件

  18. 18

    如何使用不完整的数据集创建5分钟间隔的日期时间索引(Python)

  19. 19

    如何使用不完整的数据集创建5分钟间隔的日期时间索引(Python)

  20. 20

    在mysql中的开始时间和结束时间之间获取30分钟的间隔数据

  21. 21

    舍入时间跨度到15分钟间隔

  22. 22

    如何计算以每个日期的持续时间和15分钟的间隔记录的用户

  23. 23

    将整数作为时间间隔为15分钟

  24. 24

    舍入时间跨度到15分钟间隔

  25. 25

    将日期时间插入预定义的15分钟间隔

  26. 26

    我想将时间洗涤器切换为15分钟间隔

  27. 27

    如何使bootstrap-datetimepicker显示间隔为15分钟的时间

  28. 28

    将15分钟数据更改为R中的每日平均值

  29. 29

    将15分钟数据更改为R中的每日平均值

热门标签

归档