Использование return(x)
в этом случае странно: оно выходит из l oop на первой итерации. Попробуйте просто
x=0
for(i in 1:1000) {
x = x + 3 * 0.5^(i-1)
}
Затем print(x)
, чтобы увидеть значение x
.
В случае geomsum
, который вы цитируете выше, (1) это фактическая функция, поэтому return(...)
имеет смысл; (2) тело l oop представляет собой одиночный оператор (x = x + a * r^(i-1)
), поэтому return(...)
идет после завершения l oop. Проблема с кодом, который выглядит следующим образом:
x=0
for(i in 1:1000) {
x = x + 3 * 0.5^(i-1)
}
return(x)
, заключается в том, что он выдает ошибку («нет функции для возврата, переход на верхний уровень»). Но вам в любом случае не нужен return(x)
, поскольку вы не работаете внутри функции.