gpt4 book ai didi

r - 查找间隔(段)的成对重叠

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:46:19 27 4
gpt4 key购买 nike

我们有两组区间 AB。我所说的间隔是指一对有序的整数,例如 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))

然后 FindOverlap(A, B) 应该返回如下矩阵(唯一的零元素是因为 A 的第三个区间不与第一个区间重叠B):

1 1
1 1
0 1

你有什么有效的想法吗?

最佳答案

intervals 包似乎在这里提供了一个解决方案:

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)

A nice demonstration

关于r - 查找间隔(段)的成对重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18248455/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com