r - 使用 ID 内的条件重新创建增量值
问题描述
所以我有2个字段的数据,ID和时间戳
ID Time
1 12
1 15
1 16
2 12
2 11
如果时间和前一次之间的差异低于 2,例如在同一 ID 内,我想增加,除非保持相同的值并在 ID 不同时从 1 重新开始。
期望的输出:
ID Time ID_SESSION
1 12 1
1 15 1
1 16 2
2 12 1
2 11 1
在 dplyr/sparklyr 中需要使用 R/ 来实现 spark
解决方案
使用基础 R 的单线,
with(df, ave(Time, ID, FUN = function(i)cumsum(c(TRUE, diff(i) <= 2))))
#[1] 1 1 2 1 2
推荐阅读
- python - Gspread - 身份验证错误问题 - 没有 AppData 文件夹
- javascript - NgFor 只显示数组中的第一个值
- python - 为什么 sklearn 交叉验证的 rbf 内核比线性内核快得多?
- asp.net-core - Asp.net Core远程IP地址获取本地ip(192.168.1.1)
- c# - Unity 从两个不同的脚本激活文本 UI
- javascript - 在 contenteditable 中有不可编辑的内容
- c++ - CryptoPP::StreamTransformationFilter 内存泄漏可能
- html - 如何使用引导程序使侧边栏移动响应?
- php - 嗨,我将 MYSQL 返回的数据转换为 PHP 数组。但我不知道如何在值中添加双引号
- java - 错误:不兼容的类型:String[] 无法转换为 String