【发布时间】:2020-01-28 20:50:36
【问题描述】:
我有多个区间,需要找出哪些区间会形成一个连续的组。
在这个 MWE 中,我有 Interval.id、Interval.start 和 Interval.end。我想计算 Wanted.column。
DT <- data.table(Interval.id=c(1L, 2L, 3L, 4L, 5L, 6L),
Interval.start=c(2.0, 3.0, 4.0, 4.6, 4.7, 5.5),
Interval.end=c(4.5, 3.5, 4.8, 5.0, 4.9, 8.0),
Wanted.column=c(1L, 1L, 1L, 1L, 1L, 2L))
我想foverlaps 是这里的朋友,但我不知道怎么做。
Wanted.column 如何计算?
【问题讨论】:
-
如何定义连续组?能详细说明一下你是如何实现通缉的吗?无法立即看到序列。
-
不知道怎么说,但如果区间A与B相交,C与B相交,那么A,B,C是同一组。即使 A 和 C 不相交。
-
另请参阅:stackoverflow.com/questions/55836442/… 鉴于此答案要求的拆分数据,通过比较区间结束与后续区间开始(例如使用
data.table::shift)来找到联合应该是微不足道的
标签: r data.table