アルゴリズムを考えてみてください。1 つのオプションは、ベクトルの最初の要素をターゲットとして開始し、それを 2 番目の要素と比較することです。2 番目がターゲットより小さい場合は、ターゲットを 2 番目の要素に設定します。要素 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 のタイトルが要求するものです。