【发布时间】:2023-03-28 02:05:01
【问题描述】:
我正在尝试在 data.table 的列中识别一个连续递增的序列,并为每个唯一的连续序列分组分配一个标识符,但我很难想出一种矢量化的方法来快速识别这些序列.
我环顾四周,没有发现任何仅使用 data.table 语法和命令以矢量化方式执行此操作的东西,也许这不可能。
library(data.table)
DT <- data.table(ID=c(1,1,1,1),time=c(17,18,74,75),exposure=c(0,1,1,1))
我的数据如下所示:
ID time exposure
1: 1 17 0
2: 1 18 1
3: 1 74 1
4: 1 75 1
我想创建一个新列来指示time 的哪些行是连续递增序列,如下所示:
ID time exposure contiguous.groups
1: 1 17 0 x1
2: 1 18 1 x1
3: 1 74 1 x2
4: 1 75 1 x2
如果有人以前这样做过或知道如何开始,我们将不胜感激。
【问题讨论】:
标签: r data.table grouping vectorization sequence