在 R 中创建循环以使用比较运算符(>、<、== 等)查找向量的最小值

Creating a loop in R to find a minimum value of a vector by using comparison operators (>, <, ==, etc.)

我有一个包含 0 到 100 之间的 100 个随机值的向量,称为 "aVector"。我需要创建一个循环,使用 "if" 语句和比较运算符(>、<、== 等)在 aVector 中查找最小值。我无法在循环内外使用 min() 或 max() 函数。

到目前为止我有什么(aVector 已设置但我的循环不起作用):

set.seed

aVector <- sample(0:100, 100, replace=FALSE)

for (i in 1:(aVector)) {
  if(aVector[i] < 1)
    1 = aVector[i]
}

这应该可以解决问题。首先创建一个名为 "low" 的具有高值的变量(如@alistaire 建议的那样)。然后,循环遍历 aVector 的值。在每个值处,检查该值是否小于低。如果是,请将低值更新为该值。

set.seed(42)

aVector <- sample(0:100, 100, replace=FALSE)

low <- Inf # initialize with high value
for (i in aVector) {

  if(i < low){
    low <- i
  }

}
print(low)

# Confirm we got correct answer
min(aVector)

我喜欢那个代码。如果你不介意的话,让我用它来写一个函数@Rob Marty:

Minx <- function(x){
    Min <- Inf
    for(i in x){
        if(i<Min){
            Min <- i
            }
         }
    Min
    }

我编写的函数能够模仿 R 的内置函数 min()。刚刚学习...