我有一个排序的值数组和一个值,如下所示:
x <- c(1.0, 3.45, 5.23, 7.3, 12.5, 23.45)
v <- 6.45
Run Code Online (Sandbox Code Playgroud)
v我可以找到要插入的值的索引,x同时保持排序顺序:
max(which(x <= v))
[1] 3
Run Code Online (Sandbox Code Playgroud)
这是漂亮而紧凑的代码,但我有一种直觉,在幕后这确实效率低下:因为which()不知道数组已排序,所以必须检查所有值。
有没有更好的方法来找到这个索引值?
注意:我对实际合并v到x. 我只想要索引值。