这就是我所拥有的,但显然我错了,因为它不起作用: - \
set.seed(1)
x <- runif(25)
sort<-function(x) {
for(last in length(x):2) {
for (first in 1: (last-1)) {
save<-x[first]
x[first]<-x[first + 1]
x[first+1]<-save
}
}
return(x)
}
答案 0 :(得分:1)
考虑算法。一种选择是以向量的第一个元素作为目标开始,然后将其与第二个元素进行比较。如果秒小于目标,则将target设置为第二个元素。对于元素3到n,使用target重复此比较,其中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的标题要求。