【发布时间】:2019-09-15 01:39:13
【问题描述】:
我知道我们可以用
在 a 列中找到第 11500 行的索引which(df$a == 11500)
如果我想为特定列值找到最接近且小于行索引的情况。
a 列中的示例:
a
1
2
5
10
小于或等于 8 且最接近它的值的行号是多少?答案:值为 5,我要查找的行索引为 3。
【问题讨论】:
我知道我们可以用
在 a 列中找到第 11500 行的索引which(df$a == 11500)
如果我想为特定列值找到最接近且小于行索引的情况。
a 列中的示例:
a
1
2
5
10
小于或等于 8 且最接近它的值的行号是多少?答案:值为 5,我要查找的行索引为 3。
【问题讨论】:
这是一种方法
a <- c(1, 2 , 5, 10)
val <- 8
vals <- a - val
which(a == max(a[vals <= 0]))
#[1] 3
如果a 总是排序,我们也可以使用findInterval
max(which(findInterval(a, val, left.open = TRUE) == 0))
【讨论】: