R按间隔聚合数据帧

太阳的

我有一个数据框

- 以秒为单位的时间(整数)

-布尔值

我试图将时间聚合到 60 秒间隔(0-59、60-119、.... 11940-12000)以获得以下数据帧:

-timeframe(第n分钟)

-该时间范围内的元素数量

-布尔值为真的那个时间范围内的元素数

我查看了聚合、总和、group_by 和 cut,但不明白如何解决我的问题。

感谢所有愿意帮助我的人!

编辑:输出dput(head(data, 20))

结构(列表(时间= C(5321L,5320L,5276L,5275L,5275L,5269L,5252L,5195L,5193L,5190L,5184L,5177L,5164L,5146L,5123L,5118L,5100L,5085L,5081L,5062L),布尔= c(假、真、真、真、真、真、假、真、真、真、真、假、真、假、假、真、假、假、假、真)), row.names = 18 :37, class = "data.frame")

罗纳克·沙阿

您可以使用cut/findInterval将数据划分为 60 秒的间隔,并计算每组中的行数和sum booleanvalue 以获取booleanvalue所在的计数TRUE

library(dplyr)

data %>%
  group_by(grp = findInterval(time, seq(min(time), max(time), 60))) %>%
  summarise(n = n(), 
            n_true = sum(boolean))

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章