【发布时间】:2018-05-12 03:35:57
【问题描述】:
我有一个包含多个组的大型数据集,其中包含具有开始和停止日期时间的 ID 数据集。我要做的是在每个组内确定子组发生的位置。当两个 ID 与其 START & END 日期时间列重叠时,组中的子组将是一个子组。下面是在 R 中为一组创建示例数据集的脚本。我想要做的是在每个组中创建一个名为“Grp”的列,将这些子组与重叠的 START 和 END 日期时间分组。
我有什么...
structure(list(ID = c(1,2,3,4), START = structure(c(1490904000, 1490918400,
1508363100, 1508379300), tzone = "UTC", class = c("POSIXct",
"POSIXt")), END = structure(c(1492050600, 1492247700,
1509062400, 1509031800), tzone = "UTC", class = c("POSIXct",
"POSIXt"))), class = "data.frame", row.names = c(NA, -4L), .Names = c("ID","START",
"END"))
我想要的是……
structure(list(ID = c(1,2,3,4), START = structure(c(1490904000, 1508379300,
1508363100, 1490918400), tzone = "UTC", class = c("POSIXct",
"POSIXt")), END = structure(c(1492050600, 1509031800,
1509062400, 1492247700), tzone = "UTC", class = c("POSIXct",
"POSIXt")), Grp = c(1,2,2,1)), class = "data.frame", row.names = c(NA, -4L), .Names = c("ID","START",
"END","Grp"))
我尝试使用 lubridate 的间隔,并以这种方式找到重叠,但没有运气。任何帮助将不胜感激。
【问题讨论】:
标签: r