gpt4 book ai didi

r - 从开始到结束找到最接近的非重叠范围

转载 作者:行者123 更新时间:2023-12-04 15:18:55 24 4
gpt4 key购买 nike

我想找到从第一个开始到最后一个结束位置不重叠的最近范围。知道如何进行吗?在下面的示例中,c(8, 33) 和 c(155, 161) 应该被过滤掉,因为它们与前面的范围重叠。

#Example data
df <- data.frame(
start = c(7,8,14,34,67,92,125,155,170,200),
end = c(13,33,25,66,91,124,155,161,181,214)
)

start end
1 7 13
2 8 33
3 14 25
4 34 66
5 67 91
6 92 124
7 125 155
8 155 161
9 170 181
10 200 214

#Overlapping rows
start end
1 8 33
2 155 161

#Desired output where overlapping rows are filtered away
start end
1 7 13
2 14 25
3 34 66
4 67 91
5 92 124
6 125 155
7 170 181
8 200 214

最佳答案

我会将其作为一个简单的循环来执行,因为是否排除一行取决于前一行的计算结果

i <- 2

while(i < nrow(df)) {
if(df$start[i] <= df$end[i - 1]) {
df <- df[-i,]
} else {
i <- i + 1
}
}

df
#> start end
#> 1 7 13
#> 3 14 25
#> 4 34 66
#> 5 67 91
#> 6 92 124
#> 7 125 155
#> 9 170 181
#> 10 200 214

关于r - 从开始到结束找到最接近的非重叠范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63773489/

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