У меня возникли проблемы с созданием формулы, которая сравнивает два числа и в конце программы сортирует все числа. Я создаю (есть) вектор 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)
Что с 'рода (х)'? – Ista