r - 从数据帧起点和终点查找间隔

标签 r dataframe intervals

我有数据框(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/

相关文章:

R 插入符包错误 - 至少一个类级别不是有效的 R 变量名称

python - Dataframe 嵌套循环 - set_value 变量输入

java - Joda-Time 中的排序间隔

mysql - 如何选择 dplyr/sql 中的所有列?

非时间数据的 R 运行平均值

r - R中的多路频率表

python - 如何将 Pandas 数据框中的一列复制到另一个数据框中,同时匹配两者中公共(public)列的值?

scala - Spark 标度 : select column name from other dataframe

postgresql - 如何将 "1 day 01:30:00"之类的间隔转换为 "25:30:00"?

php - 通过IP地址和时间间隔限制表单提交速率