相关疑难解决方法(0)

识别R中连续重叠的段

我需要将重叠的段聚合成一个范围内的所有连接段.

请注意,简单的foverlaps无法检测非重叠但已连接的段之间的连接,请参阅示例以进行说明.如果在我的情节中我的部分下雨,我正在寻找干燥的地面.

到目前为止,我通过迭代算法解决了这个问题,但我想知道这个问题是否有更优雅,更直接的前进方式.我肯定不是第一个面对它的人.

我正在考虑非平等滚动连接,但是要实现它

library(data.table)
(x <- data.table(start = c(41,43,43,47,47,48,51,52,54,55,57,59), 
                  end = c(42,44,45,53,48,50,52,55,57,56,58,60)))

#     start end
#  1:    41  42
#  2:    43  44
#  3:    43  45
#  4:    47  53
#  5:    47  48
#  6:    48  50
#  7:    51  52
#  8:    52  55
#  9:    54  57
# 10:    55  56
# 11:    57  58
# 12:    59  60

setorder(x, start)[, i := .I] # i is just a helper for plotting segments …
Run Code Online (Sandbox Code Playgroud)

grouping r overlap data.table locf

8
推荐指数
2
解决办法
280
查看次数

标签 统计

data.table ×1

grouping ×1

locf ×1

overlap ×1

r ×1