2 つの数値を比較し、最後にプログラムですべての数値を並べ替える数式の作成に問題があります。x
値を持つベクトルを作成 (持っています) :x <- c(5, 10, 2, 35, 1)
名前を持つ関数: SortFunc(x)
最後の結果は次のようになります。
[1] 1 2 5 10 35
私はこの機能をしました:
SortFunc <- function(x) {
n <- length(x)
repeat {
spr <- FALSE
n <- n-1
for(i in 1:n) {
if ( x[i] > x[i+1] ) {
t <- x[i]
x[i] <- x[i+1]
x[i+1] <- t
spr <- TRUE
}
}
if (!spr) break;
}
x
}
を実行するSortFunc(x)
と、次のエラーが表示されます。
Error in if (x[i] > x[i + 1]) { : argument is of length zero
解決策はありますか?x <- c(5,8,7,30,1,100)
* のようにベクトルを変更すると、真の解が得られます([1] 1 5 7 8 30 100)