想想算法。一种选择是从向量的第一个元素作为目标开始,然后将其与第二个元素进行比较。如果第二个小于目标,则将目标设置为第二个元素。对元素 3 到 n 重复与目标的比较,其中 n 是向量的长度。
findMin <- function(x) {
minX <- x[1] ## set target to first element of `x`
for (i in (seq_along(x[-1]) + 1)) { ## i take values 2, 3, ..., length(x)
if(x[i] < minX) ## do comparison with current target
minX <- x[i] ## if element i is smaller than target, update target
}
minX
}
> set.seed(1)
> vec <- runif(20)
> min(vec)
[1] 0.06178627
> findMin(vec)
[1] 0.06178627
你为什么要这样做超出了我的理解,结果是愚蠢、低效的 R 代码。但是(我认为)这可以满足您的要求,至少是您 Q 的标题所要求的。