【发布时间】:2019-12-13 18:24:15
【问题描述】:
我正在使用 R,并且我的数据位于 data.tables 对象上。我的数据格式为 ID、Date1、Date2、Row
对于每个 ID,我可以有多个条目,并且两个日期定义了一个时间间隔。
我希望能够按 id 和重叠时间间隔聚合所有条目。我确实知道如何使用 for 循环等,但我想知道是否有更好的方法。
例子:
data = data.table(
id = c(1,1,1,2,2,3,3),
Row = c(1,2,3,4,5,6,7),
Date1 = c("2018-01-01",
"2018-01-05",
"2018-01-21",
"2018-01-01",
"2018-01-15",
"2018-01-01",
"2018-01-19"),
Date2 = c("2018-01-10",
"2018-01-20",
"2018-01-22",
"2018-01-31",
"2018-01-19",
"2018-01-15",
"2018-01-23"))
所需的输出将是标识以下行组的内容: ((1,2),(3),(4,5),(6),(7)) ,这样我就可以生成一个新的ID,基于此分组。
【问题讨论】:
标签: r datetime data.table grouping