我有数据框(DF):
Start End Result
2 300 FL91
5 250 FL12
550 750 FL18
720 900 FL41
我想找到“开始”<81>“结束”之间的所有“结果”(因此,我想找到“开始”和“结束”点小于81的区间上的所有“结果” 。 我尝试过:
y <- 81
findInterval(y, DF$Start, DF$End)
但是我遇到了这样的错误:“vec”必须按非递减方式排序并且不包含 NA。 我确信我的数据框不包含 NA 并且没有按降序排序。 我也尝试使用类似主题的建议,但无法找出解决方案。
Extracting data from data frame
Interval search on a data frame
那么,我该怎么办?
最佳答案
您可以使用现成的函数或创建自己的函数:
findInt <- function(value, start, end) {
start < value & end > value
}
indx <- findInt(81, DF$Start, DF$End)
DF$Result[indx]
#[1] "FL91" "FL12"
关于r - 从数据帧起点和终点查找间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40491905/