如何在 R 中聚合关闭时间事件

2024-03-24

我需要能够包含事件的数据帧,并输出运行的开始、结束和计数,其中运行是事件一起小于指定时间段的情况。

data.frame 行已经按时间排序

e.g.

library(lubridate)

ts <- c("2016-10-28 19:21:19",
        "2016-10-28 19:21:20",
        "2016-10-28 19:21:21",
        "2016-10-28 19:21:21",
        "2016-10-28 19:23:23",
        "2016-10-28 19:23:24",
        "2016-10-28 19:23:24",
        "2016-10-28 19:23:25",
        "2016-10-30 03:59:09",
        "2016-10-30 08:54:31",
        "2016-10-30 08:54:35"
)

df  <- data.frame(time=ymd_hms(ts))

我想要输出的是这样的数据帧,其中间隔是距上一个事件 60 秒

start                end                  count
2016-10-28 19:21:19  2016-10-28 19:21:21  4 
2016-10-28 19:23:23  2016-10-28 19:23:25  4
2016-10-30 03:59:09  2016-10-30 03:59:09  1
2016-10-30 08:54:31  2016-10-30 08:54:35  2

实际序列会很长,因此解决方案需要在大量(~100k)行时表现良好

我看过lag, diff和其他功能,但看不到一种简单或有效的方法来做到这一点。


这是代码使用dplyr.

首先,它排序time以防万一它们出问题了。然后,它计算一个timeChange using difftime确保它在几秒钟内返回并确定是否isBigChange(此处大于 60 秒)。然后,它使用每个TRUE使用增加组号cumsum(计算每个TRUE作为 1)。那么它group_bys that group,并计算您想要的摘要。

df %>%
  arrange(time) %>%
  mutate(timeChange = difftime(time, lag(time, default = time[1])
                               , units = "secs")
         , isBigChange = timeChange > 60
         , group = cumsum(isBigChange)) %>%
  group_by(group) %>%
  summarise(
    start = min(time)
    , end = max(time)
    , count = n()
  )

Returns

  group               start                 end count
  <int>              <dttm>              <dttm> <int>
1     0 2016-10-28 19:21:19 2016-10-28 19:21:21     4
2     1 2016-10-28 19:23:23 2016-10-28 19:23:25     4
3     2 2016-10-30 03:59:09 2016-10-30 03:59:09     1
4     3 2016-10-30 08:54:31 2016-10-30 08:54:35     2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 R 中聚合关闭时间事件 的相关文章

  • 如何在闪亮进度条的详细消息中添加换行符?

    有没有办法在闪亮的进度条消息中添加换行符 n or br 似乎不起作用 我正在尝试将我的一个旧代码转换为一个闪亮的应用程序 该代码基本上是一个接一个地调用许多函数 所有这些函数都需要一些时间来执行 从应用程序中 我想知道哪些功能已经执行以及
  • 估算缺失数据,同时强制相关系数保持不变

    考虑以下 excel 数据集 m r 2 0 3 3 0 8 4 0 1 3 2 1 5 2 2 3 1 9 2 5 1 2 3 0 2 0 2 6 我的目标是使用以下条件填充缺失值 将上述两列之间的成对相关性表示为 R 大约 0 68 将
  • 用整数矩阵对 data.frame 进行子集化

    我一直遇到这个问题 想知道是否有一个简单的解决方法 对于某些情况 我发现考虑将矩阵子集化更合乎逻辑 N lt 12 N NA lt 6 dat lt data frame V1 runif N V2 runif N sel mat lt m
  • 无法使用include_graphics在Rmarkdown中插入png(错误:文件不是PNG格式)

    这个错误很奇怪 当我编织文档时 出现以下错误 Quitting from lines 42 43 sigminer doc Rmd Error in png readPNG path native TRUE info TRUE file i
  • 通过变量分割 data.frame [重复]

    这个问题在这里已经有答案了 我将多个主题的数据存储在一个 CSV 文件中 导入 CSV 文件后 我想将每个参与者的数据拆分到自己的 data frame 中 更确切地说 我想采用下面的示例数据 并创建三个新的 data frames 每个
  • rvest open.connection(x, "rb") 中出现错误:已达到超时

    我正在尝试从中抓取内容http google com http google com 错误信息就出来了 library rvest html http google com open connection x rb 中的错误 已达到超时另外
  • 错误:“tidyverse”的包或命名空间加载失败:“namespace:dplyr”未导出对象“relocate”

    我使用以下命令安装了 tidyverse install packages tidyverse 但是安装后 当我使用以下命令调用库时 library tidyverse 我收到此错误 Error package or namespace l
  • 在r包中重新导出数据集

    In R包 有可能重新导出函数 这使得很容易回收相同的函数 而不必在不同的包之间重复代码 例如 devtools session info函数是重新导出sessioninfo session info export importFrom s
  • R 语言 - 等待用户使用 scan 或 readline 输入

    我试图让用户输入一些关键字进行查询 在我的脚本中我使用了 scan 或 readline 我使用 R 嵌入脚本编辑器 Windows 进行了尝试 但是当我执行代码时 它使用我的下一行脚本作为标准输入 这是我的 部分 脚本 keywords
  • 运行 R.exe 会创建临时文件吗?

    我在想 是否启动 R exewindows创建临时文件并 是否解释类似x lt 5写入那些临时文件 如果创建了临时文件 它们存储在哪里 如果我启动多个 R exe 实例会发生什么情况 他们会共享并覆盖彼此的临时文件吗 R 的每个实例都有自己
  • 加拿大人口普查地图分区 R

    我对 R 和映射非常陌生 我想创建某些数据的映射 我有一组名为 D Montreal 的数据 显示 2010 年前往蒙特利尔的加拿大人口普查部门游客来自哪个国家 我想使用此数据创建一个地图 以显示有多少人来自不同地区 也许可以通过对根据人数
  • 更改 ggplot 条形图填充颜色

    有了这个数据 df lt data frame value c 20 50 90 group c 1 2 3 我可以得到一个条形图 df gt ggplot aes x group y value fill value geom col c
  • R 中有没有快速替换列值的方法?

    假设我们有一个包含数值的数据框 如下所示 Temperature Height 32 157 31 159 33 139 我想更换Height价值观与pic 00001 pic 00002等等 最终结果是 Temperature Heigh
  • 有条件地将可选组替换为 gsub

    一位用户问我如何做到这一点如何使 ggplot 图例中的选定单词变为斜体 https stackoverflow com questions 76054997 how to italicize select words in a ggplo
  • xml2 包 (R) 中的 xml_find_all 函数未找到相关节点

    我使用 R 中的 xml2 包来访问 xml 数据 发现它在不同的 xml documents 上表现不同 在这个宠物的例子中 library xml2 doc lt read xml
  • 完全缺失列的 VaR 计算

    我需要计算股票收益的滚动 VaR 从这篇文章 使用rollapply函数使用R进行VaR计算 https stackoverflow com questions 25045612 using rollapply function for v
  • 用于更改向量中元素顺序的闪亮小部件

    在很多网站上 您都有一个拖放界面来更改列表中元素的顺序 我正在寻找类似的东西闪亮 我希望用户能够拖放列表中的元素 通过更改顺序来更改优先级 现在我有一个滥用的解决方案selectizeInput 这是可行的 但当选择列表变得更大时 它很快就
  • 如何更改 Quarto pptx 中的字体格式

    我正在 R 中使用 Quarto 创建 pptx 要更改我尝试更改的默认字体格式mainfont范围 但是当我渲染它时 最终的 pptx 文件具有默认字体 Calibri 这是我的文件 YAML 将 Quarto 文件渲染为 pptx 时如
  • 为 ggplot 定义新的尺度轴变换

    我正在尝试创建一个squared使用 y 轴变换scales trans new但遇到错误 MWE data data frame x 1 10 y runif 10 z rnorm 10 10 library ggplot2 ggplot
  • (R 错误)错误:cons 内存耗尽(达到限制?)

    我正在处理大数据 并且有一个 70GB 的 JSON 文件 我正在使用 jsonlite 库将文件加载到内存中 我尝试过 AWS EC2 x1 16large 机器 976 GB RAM 来执行此负载 但 R 因错误而中断 Error co

随机推荐

  • 在 Ember-CLI 内升级 Ember

    我刚刚创建了一个新的Ember CLI http www ember cli com app v0 1 12 并注意到 Ember 的引用版本是 v1 8 1 bower json 我想得到最近发布了1 10 http emberjs co
  • 在scala中使用正则表达式提取字符串

    我有一个用例 我想从 scala 的输入中提取某些字符串 我的输入字符串看起来像 asdwf ssdf as232 ss ABC xxx sdfsf234 sdaf 我想提取xxx after ABC 我尝试定义正则表达式匹配模式 val
  • WPF 控件是否在其绑定中使用弱事件?

    当我在 WPF 中使用数据绑定时 我的目标控件正在侦听绑定源上的事件 例如 我可能有一个ListView http msdn microsoft com en us library system windows controls listv
  • foreach 中对 Dictionary 的解构

    在 C 7 中是否可以在字典的 foreach 循环中使用解构 像这样的事情 var dic new Dictionary
  • Objective-C 前向调用:

    我经常做这样的事情 CoolViewController coolViewController CoolViewController alloc init self navigationController pushViewControll
  • VBA 函数避免使用 If 语句

    我正在构建一个非常复杂的 VBA 工作簿 运行大部分代码的问题之一是性能 我有一个内置函数 或多或少可以执行以下操作 Public Function zzz xxx as String as String if xxx apple then
  • 如何在 gradle.properties 文件中声明列表?

    当我尝试在 gradle properties 文件中编写类似的内容时 defaultTasks deploy 我收到下一条消息 BUILD FAILED FAILURE Build failed with an exception Wha
  • 绝对导入:React 和 Typescript

    背景 我有一个使用引导的 React 应用程序create react app和打字稿 随着应用程序的增长 goal 我想实现绝对导入 我正在使用 VS Code Visual Studio Code 只需很少的配置 我就可以让 TS 和
  • template-id 与任何模板声明都不匹配

    我遇到了令人沮丧的编译器错误 我似乎无法解决 这与模板专业化有关 但我看不出有什么问题 include thread lock guard inl 23 error template id lock guard lt gt for thre
  • 如何在 Sass 中强制 CSS 变量为整数?

    如果这是一个简单的问题 请原谅我 但我正在 CodePen 上解决这个问题 并且不知道发生了什么 我有代码 root ile 10 for i from 0 to var ile 问题是 Codepen 声称 var ile 不是整数 嗯
  • Swift 3 本地通知未触发

    我有以下设置 并且根本没有通知被触发 基于堆栈上的其他类似问题 我为每个请求添加了唯一标识符 并将正文添加到了内容中 我有这个请求用户许可的功能 func sendIntNotifications 1 Request permission
  • 替换具有错误高程值的片段

    你好 堆栈溢出 我还有另一个片段问题 我使用的是 android app Fragment 不支持片段 我正在尝试替换一个片段 但这并不像使用那么简单 fragmentTransaction replace containerId newF
  • Akka 的语言和产品替代品是什么?

    现在我正在看游戏框架 https www playframework com 并且非常喜欢它 Play 中提供的功能中最受宣传的部分之一是Akka http akka io 为了更好地理解 Akka 以及如何正确使用它 您能告诉我其他语言或
  • 无法安装 libc6 软件包

    esrsank PG04954 sudo apt get install libc6 i386 Reading package lists Done Building dependency tree Reading state inform
  • getExternalCacheDir() 清除数据后返回 null

    我有一个简单的应用程序 可以访问数据并将数据写入外部存储 一切正常 直到我进入 设置 gt 应用程序 gt 应用程序信息 并通过 清除数据 按钮清除数据 然后每次调用getExternalCacheDir 开始返回 null 我一直在运行
  • 当尝试获取应用程序方向时,“statusBarOrientation”在 iOS 13.0 中已被弃用

    简单地说 我依靠以下代码来提供应用程序的方向 在应用程序中使用它有几个原因 根据 UX 规范 stackview 的布局是根据 iPad 的方向设置的 横向时为水平 纵向时为垂直 在上一项的基础上 stackview 被放置在屏幕的左侧 纵
  • Visual Studio 2017 重构不适用于 F#

    我有项目在F 我正在尝试VisualStudio2017 我尝试重构代码并使用内联 但此菜单项不可用 另外当我点击Rename什么都没发生 为什么不可用 如何强制refactor操作才能工作 let blobToBlobWithInfo b
  • MySQL 有没有办法将 IN 和 LIKE 结合起来?

    我目前正在运行这样的查询 SELECT FROM email WHERE email address LIKE ajones OR email address LIKE bsmith OR email address LIKE cjohns
  • 使用 Ruby 生成 Gmail IMAP 访问的 SASL XOAUTH2 客户端响应

    我正在尝试使用 Ruby 中的 XOAUTH2 通过 IMAP 访问我的 Gmail 电子邮件 我已通过使用 OAuth 2 0 进行身份验证 成功生成了访问令牌 和刷新令牌 oauth2 https github com intridea
  • 如何在 R 中聚合关闭时间事件

    我需要能够包含事件的数据帧 并输出运行的开始 结束和计数 其中运行是事件一起小于指定时间段的情况 data frame 行已经按时间排序 e g library lubridate ts lt c 2016 10 28 19 21 19 2