从数据框开始和结束点查找间隔
Find interval from data frame start and end points
我有数据框(DF):
Start End Result
2 300 FL91
5 250 FL12
550 750 FL18
720 900 FL41
我想找到 "Start" < 81 > "End" 之间的所有 "Results" (所以,我想找到所有 "Results" 之间的区间"开始和 "End" 点不到 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"
可能是这样的
[1] TRUE TRUE FALSE FALSE
> df[df[,1] <= 81 & 81 <= df[,2], 3]
[1] FL91 FL12
我有数据框(DF):
Start End Result
2 300 FL91
5 250 FL12
550 750 FL18
720 900 FL41
我想找到 "Start" < 81 > "End" 之间的所有 "Results" (所以,我想找到所有 "Results" 之间的区间"开始和 "End" 点不到 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"
可能是这样的
[1] TRUE TRUE FALSE FALSE
> df[df[,1] <= 81 & 81 <= df[,2], 3]
[1] FL91 FL12