r - 查找大于列表中每个元素的最小值

标签 r

给定一个向量lookup和一个有序向量ref,我想要一个向量result,其中result[i] 等于 ref 中最小元素的索引,使得 lookup[i] > ref[result[i]

例如:

ref <- c(1,5,10,15)
lookup <- c(2.3,10.5, 17,2,6)

result: 1,3,4,1,2

如何在不使用 for 循环的情况下在 R 中执行此操作?

最佳答案

由于 ref 向量是有序的,因此您可以使用 findInterval查找 ref 中的区间数字或索引> 对于数字 x:

ref <- c(1,5,10,15)
lookup <- c(2.3,10.5,17,2,6)
findInterval(lookup, ref)
# [1] 1 3 4 1 2

关于r - 查找大于列表中每个元素的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42145082/

相关文章:

r - 使用unique()和==来匹配带重音和不带重音的字符

r - 具有挑战性的载体修饰

r - R 中的时差

r - 使用 ggplot 绘制函数,相当于 curve()

r - 基于单选按钮选择 R Shiny 创建图

r - 在 R 中绘制颜色向量

r - 使用 dplyr::select() 以数字作为名称选择多列

r - 如何选择除某些行和列之外的整个矩阵?

r - 如何将单元格内容拆分为多列以创建宽数据?

r - 按计数对 R 中的表进行排序