data.table:计算时间移动​​窗口内的行数

2024-03-08

library(data.table)
df <- data.table(col1 = c('B', 'A', 'A', 'B', 'B', 'B'), col2 = c("2015-03-06 01:37:57", "2015-03-06 01:39:57", "2015-03-06 01:45:28", "2015-03-06 02:31:44", "2015-03-06 03:55:45", "2015-03-06 04:01:40"))

对于每一行,我想计算具有相同“col1”值的行数以及该行时间之前过去 10 分钟的窗口内的时间(包括)

我运行下一个代码:

df$col2 <- as_datetime(df$col2)
window = 10L
(counts = setDT(df)[.(t1=col2-window*60L, t2=col2), on=.((col2>=t1) & (col2<=t2)), 
                     .(counts=.N), by=col1]$counts)

df[, counts := counts]

并得到下一个错误:

Error in `[.data.table`(setDT(df), .(t1 = col2 - window * 60L, t2 = col2), : Column(s) [(col2] not found in x

我想要如下结果:

col1    col2              counts
B   2015-03-06 01:37:57     1
A   2015-03-06 01:39:57     1
A   2015-03-06 01:45:28     2
B   2015-03-06 02:31:44     1
B   2015-03-06 03:55:45     1
B   2015-03-06 04:01:40     2

一个可能的解决方案:

df[.(col1 = col1, t1 = col2 - gap * 60L, t2 = col2)
   , on = .(col1, col2 >= t1, col2 <= t2)
   , .(counts = .N), by = .EACHI][, (2) := NULL][]

这使:

   col1                col2 counts
1:    B 2015-03-06 01:37:57      1
2:    A 2015-03-06 01:39:57      1
3:    A 2015-03-06 01:45:28      2
4:    B 2015-03-06 02:31:44      1
5:    B 2015-03-06 03:55:45      1
6:    B 2015-03-06 04:01:40      2

关于您的方法的一些注意事项:

  • 你不需要setDT因为你已经构建了df with data.table(...).
  • You on- 语句未正确指定:您需要用 a 分隔连接条件,并且不带有&。例如:on = .(col1, col2 >= t1, col2 <= t2)
  • Use by = .EACHI获取每一行的结果。

另一种方法:

df[, counts := .SD[.(col1 = col1, t1 = col2 - gap * 60L, t2 = col2)
                   , on = .(col1, col2 >= t1, col2 <= t2)
                   , .N, by = .EACHI]$N][]

这给出了相同的结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

data.table:计算时间移动​​窗口内的行数 的相关文章

  • ggplot 中的错误问题:“grid.Call(”L_textBounds“, as.graphicsAnnot(x$label), x$x, x$y, … 中的错误”[重复]

    这个问题在这里已经有答案了 我试图在 ggplot 中制作一个条形图 其中我通过强制其中一些标签为长度为零的字符串 即 来指定要显示的标签 但是 我收到错误 Error in grid Call L textBounds as graphi
  • 如何更新条件公式?

    让我直接进入示例 考虑以下等式 frml lt formula y a b x z 使用这样的公式规范 例如和AER ivreg 我想更新这个公式 使其显示为 frml2 lt y a b c x z w 但是 我不确定如何更新条件标志之前
  • 在 R 中绘制对数正态概率密度

    我正在尝试在 R 中生成对数正态概率密度图 其中包含 3 个不同的均值对数和标准差对数 我尝试了以下方法 但我的图表太丑了 看起来一点也不好看 x lt seq 0 10 length 100 a lt dlnorm x meanlog 0
  • R.matlab/readMat:readTag(this) 中出错

    我正在尝试使用 R matlab 将 matlab 文件读入 R 但遇到此错误 require R matlab r lt readMat file mat verbose T Trying to read MAT v5 file stre
  • 将 sf voronoi 多边形裁剪到边界框时出错

    我正在尝试将 voronoi polygons 使用 sf package 创建 剪辑 到边界框 但它引发了我无法定义的错误 我对 R 的空间世界不太有经验 感谢所有帮助 样本数据 stations lt structure list ST
  • 将数据从 R 导出到 Excel

    我试图将从 R 获得的一些结果导出到 Excel 中 但未成功 我尝试过以下代码 write table ALBERTA1 D ALBERTA1 txt sep t write csv ALBERTA1 ALBERTA1 csv your
  • glmnet 未从 cv.glmnet 收敛 lambda.min

    我跑了20倍cv glmnet套索模型以获得 lambda 的 最佳 值 但是 当我尝试重现结果时glmnet 我收到一个错误 内容如下 Warning messages 1 from glmnet Fortran code error c
  • 使用 R 进行项目组织 [重复]

    这个问题在这里已经有答案了 可能的重复 统计分析和报告撰写的工作流程 https stackoverflow com questions 1429907 workflow for statistical analysis and repor
  • R 中的字符串作为函数参数

    数据框chocolates列出了糖果的类型以及每种糖果的一组评级 ID sweetness filling crash snickers 0 67 0 55 0 40 milky way 0 81 0 53 0 56 我正在编写一个函数 它
  • 在 R 中使用 Huggingface Transformer 模型

    我正在尝试在 R 中使用不同的 Huggingface 模型 这是通过 reticulate 导入 Transformer 包来实现的 谢谢 https rpubs com eR ic transfoRmers https rpubs co
  • GGPLOT2:如何在 ggplot() 脚本中绘制特定选择

    这是一个名为的大型数据集的峰值P 其中有 10 个优惠 CS 有不同的商店 SHP 具有多个数值 数据集列出了按周排序的它们 WK 2 tm 52 它创建一个大文件 仅前 6 行出现峰值 WK MND CS SHP RevCY RevLY
  • 单击 R 中的 Sankey Chart 线时添加额外的标签值

    以下 R 闪亮脚本创建一个桑基图 如下面的快照所示 我的要求是 当我单击左右节点之间的任何链接 即 a1 和 a2 时 我希望相应的 a3 的总和出现在标签中 例如 a1 中的 A 和 a2 中的 E 总共具有值 50 和 32 因此 我想
  • 非闪亮上下文中的反应式对象绑定

    实际问题 你怎样才能近似反应性环境 行为 http shiny rstudio com tutorial lesson6 建立者shiny http shiny rstudio com函数 或者甚至可能在一个函数中使用这些函数无光泽上下文以
  • 更改计划的开始日期以优化资源

    我有很多工作需要在特定的时间间隔执行 然而 我们每天完成这项工作的资源有限 因此 我正在尝试优化开始时间日期 开始时间日期只能向前移动 不能向后移动 以便每天使用的资源与我们的预算更加不相似 这些函数在下面的示例中使用 Function t
  • 提取部分字符串值,创建新的列名称,并使数据框宽

    我想提取字符串列的最后一部分 始终用方括号括起来 将它们作为新列的名称 然后将数据从长调整为宽 并用这些值填充新列 例如 如果我有这个数据框 whatihave lt data frame v1 c abc effort def effor
  • 如何匹配R中列之间的多个对应值

    我有一个结构如下的数据框 ID Value1 Value2 1 a d g f 12 14 15 9 2 b c e 5 18 20 3 h i j 6 7 25 所以我有一个 ID 和两个值 对于值 1 有多个对应于值 2 的选项 我想最
  • 如何动态访问数据帧列表中的特定属性

    我有一个数据 它是数据框的列表 我正在尝试访问列表中每个数据帧内的特定属性 可以提取特定属性DP UniqueId使用下面的代码 gt attr new data A AA SpotfireColumnMetaData DP UniqueI
  • 根据R中的前一行和当前行按组计算

    我可以根据 R 中的前一行和当前行进行计算 对于此数据框 df A B 1 2 2 2 2 3 3 4 5 5 B2 A2 0 5 B1 我可以使用这段代码来计算这个函数 for i in 2 nrow df B i lt 1 2 B i
  • 使用 R 交互式更改 Plotly 图像中的轴刻度(线性/对数)

    Goal 创建交互式下拉菜单 按钮来更新 R 中 Plotly 图形的轴比例 Issue 有很多关于创建的文档buttons https plot ly r custom buttons and 对数图 https plot ly r lo
  • 基于条件反应逻辑闪亮的 Flexdashboard

    我正在尝试有条件地进行一种类型的渲染 renderPlot 或其他 renderText 基于一些输入 这是我尝试过的 title Citation Extraction output flexdashboard flex dashboar

随机推荐

  • Python 3 最佳实践参数顺序

    In this question https stackoverflow com questions 9872824 calling a python function with args kwargs and optional defau
  • 时区感知。 python 中的时区天真

    我正在 python 中使用日期时间对象 我有一个函数需要一段时间才能找到当时和现在之间的差异 def function past time now datetime now diff now past time 当我在将 Past tim
  • Android 11 下载文件到下载文件夹不起作用

    目前我正在尝试使用 DownloadManager 下载文件 但这不起作用 下载开始 但下载后下载文件夹内没有文件 这就是我的代码 private void downloadAddon try DownloadManager Request
  • 创建动态 Chrome 主题

    我正在尝试为 Google Chrome 构建一个主题扩展 它将使用远程图像源定期更新背景图像 即图像存储在网络服务器上 而不是本地 问题是主题不允许包含脚本元素 有什么建议如何解决这个限制吗 如果背景图像是指新标签页的背景 则可以将其替换
  • 无法禁用 gridExtra 的 R markdown 输出(附加注释)

    在我的 r markdown 报告中 我使用了 2 个块 First r include FALSE echo FALSE results asis 我在其中加载所有包并进行计算 第二个 r fig margin TRUE fig widt
  • 自 C++17 起,构造函数的模板参数推导是否允许显式指定某些类模板参数?

    除了构造函数模板参数推导的最明显用法之外 我可以想象一些更复杂的用例 其中我们仅推导模板类的部分参数 例如 std pair
  • 使用 JavaScript 隐藏/显示高级选项

    我正在制作一个 HTML 表单 我希望某些字段位于 高级选项 下 我想创建一个 高级选项 链接 可能带有 加号 这样当用户单击链接或符号时 就会显示这些高级字段 我怎样才能在 JavaScript 中做到这一点 我尝试在 Google 上搜
  • resque 调度程序作业的奇怪行为

    所以一些背景 我在这里得到了一些建议 在 Ruby on Rails 中安排事件 https stackoverflow com questions 15710013 scheduling events in ruby on rails 今
  • 这个联合是否违反了严格的别名?浮点寄存器怎么样

    union Uint32 Integer Float32 Real Field 我必须使用该联合来实现一些 IEEE 技巧 这会破坏严格的别名吗 GCC 不会发出任何警告 即使使用迂腐的严格别名 也尝试过 GCC 4 5 和 4 6 但据我
  • 当 WebRequest 无法找到该前缀的创建者时出现“NotSupportedException”

    我有一个非常奇怪的问题WebRequest in a ServiceStackWeb 应用程序 由 Mono 上的 XSP 托管 看起来请求模块的注册工作方式非常奇怪 我在用WebRequest创建一个 HTTP 请求 但它失败了 因为它无
  • memcached.dll 是否存在?

    Windows 是否存在 memcached 不是 memcache 扩展 我浏览了旧的答案 但没有找到任何东西 它不存在 而且不太可能很快存在 主要问题不是扩展本身 而是 libmemcached 库 该库几乎不能移植到除 Linux 系
  • NodeJS - 上传到s3而不保存在本地文件系统中

    我收到来自 REST API 中的 POST 响应的一些文本 我想为此直接在 s3 中创建一个文本文件 我偶然发现的所有示例都是使用本地文件然后上传它 有没有办法直接上传而不保存在本地系统 您可以直接将 req 通过管道传输到 s3 upl
  • 如何使用 FOSRestBundle 将通用 URI 前缀添加到控制器的所有路由?

    我已经开始为使用 Symfony 开发的应用程序实现控制器 这是我第一次尝试同时使用 Symfony 和 PHP 来完成该任务 我通常使用 Java 以及 JAX RS 或 Spring 我跟着本教程 https jeremycurny c
  • 如何从jar资源中提取目录(和子目录)?

    我有一个目录 带有子目录 模板 它作为资源保存在 jar 文件中 跑步期间 我需要将其 模板 提取到 tmp 目录 更改一些内容 最后将其发布为压缩工件 我的问题是 如何轻松提取这些内容 我正在尝试 getResource 以及 getRe
  • Push.default“匹配”和“简单”有什么区别

    我已经使用 Git 一段时间了 但我从来不需要自己设置一个新的远程存储库 而且我一直很好奇这样做 我一直在阅读教程 但我对如何获得感到困惑git push上班 如果我简单地使用git push 它要求我查看要指向的 默认分支 它为我提供的这
  • uiautomation iOS uilabel 值

    我试图通过执行以下操作从 UILabel 获取值target logElementTree 但我无法看到标签实际设置的值 它只显示我们根据accessibilityLabel设置的字符串 self settlementDate isAcce
  • 设计 MarkerClusterer 图标?

    我正在使用 MarkerCluster js 在我的 google 地图 api 中创建集群 这些簇按照我想要的方式工作 但我想要的样式与黄色 蓝色和红色圆圈不同 我试图使用 MarkerStyleOptions 它说您有一系列样式 其中最
  • 将 CSV 加载到 Pandas MultiIndex DataFrame

    我有一个 719mb 的 CSV 文件 如下所示 from to dep freq arr code mode header row RGBOXFD RGBPADTON 127 0 27 99999 2 RGBOXFD RGBPADTON
  • 代理背后的 GitHub Windows 客户端

    我正在尝试让 Windows 版 GitHub 客户端正常运行 我在一家企业Windows 7的 https en wikipedia org wiki Windows 7位于公司代理和防火墙后面的 x64 计算机 遵循各种其他帖子并尝试环
  • data.table:计算时间移动​​窗口内的行数

    library data table df lt data table col1 c B A A B B B col2 c 2015 03 06 01 37 57 2015 03 06 01 39 57 2015 03 06 01 45 2