Ali*_*Ali 5 algorithm performance r segments intervals
我们给出了两组间隔A
和B
.按间隔,我的意思是一对有序的整数,如c(2,5)
.我想找到所有间隔对 - 一个来自A
和一个B
- 有重叠.
例如,如果A和B如下:
A=c(c(1,7), c(2,5), c(4, 16))
B=c(c(2,3), c(2,20))
Run Code Online (Sandbox Code Playgroud)
然后FindOverlap(A, B)
应返回如下的矩阵(唯一的零元素是因为第3个间隔A
与第一个间隔不重叠B
):
1 1
1 1
0 1
Run Code Online (Sandbox Code Playgroud)
你有什么有效的想法吗?
小智 6
interval包似乎在这里提供了一个解决方案:
require("intervals")
A <- rbind(A1=c(1,7), A2=c(2,5), A3=c(4, 16))
B <- rbind(B1=c(2,3), B2=c(2,20))
# here you can also define if it is an closed or open interval
Aint <- Intervals(A)
Bint <- Intervals(B)
# that should be what you are looking for
interval_overlap(Aint, Bint)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1886 次 |
最近记录: |