在 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()
。刚刚学习...
我有一个包含 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()
。刚刚学习...