我在 R 中有类似以下的情况:
t <- (1:100) * 15
x <- c(134, 552, 864, 5000)
我想为 x 中的每个值找到 t 中 t > x 的第一个索引是什么。以下工作使用循环:
y <- numeric(length(x))
for (i in 1:length(x))
y[i] <- which(t > x[i])[1]
# y
# [1] 9 37 58 NA
我被告知 R 中的循环是“糟糕而缓慢的”,虽然运行一个相当大的 x 所花费的时间并不是什么大问题,但我想知道是否有更好的方法?