Я сделал следующую функцию для нахождения суммы всех интервалов в отсортированном числовом c векторе:
sum.intervals <- function(x){
x <- sort(x)
acc <- 0
for( i in 1:length(x) - 1 ){
acc <- acc + x[i + 1] - x[i]
}
return(acc)
}
При попытке использовать его я ожидаю скалярное значение, но вместо этого получаю numeric(0)
:
x <- c(5, 2, 7, 3)
y <- sum.intervals(x)
y
#numeric(0)
Однако при выполнении итераций вручную идея работает отлично:
x <- sort(x)
acc <- 0
i <- 1
acc <- acc + x[i + 1] - x[i]
i <- 2
acc <- acc + x[i + 1] - x[i]
i <- 3
acc <- acc + x[i + 1] - x[i]
acc
#5
Что не так с функцией?