Проблема в том, что при каждом запуске цикла объект обновляется / заменяется новым выводом. Вместо этого мы инициализируем выходной вектор того же размера, а затем обновляем каждый элемент с индексом «число». Обычно, если это не последовательность, переберите последовательность чисел, но здесь она находится в последовательности, то есть от 1 до 10.
fluxo_div_primeiro <- numeric(10)
one_to_ten <- c(1:10)
for (number in one_to_ten) {
fluxo_div_primeiro[number] <- 0.68*((1+0.02)^number)
}
fluxo_div_primeiro
#[1] 0.6936000 0.7074720 0.7216214 0.7360539 0.7507749 0.7657904
#[7] 0.7811063 0.7967284 0.8126629 0.8289162
Другим вариантом является инициализация с пустым вектором
fluxo_div_primeiro <- c()
, а затем обновите вектор путем объединения значений с исходным вектором
for (number in one_to_ten) {
fluxo_div_primeiro <- c(fluxo_div_primeiro, 0.68*((1+0.02)^number))
}
fluxo_div_primeiro
#[1] 0.6936000 0.7074720 0.7216214 0.7360539 0.7507749 0.7657904
#[7] 0.7811063 0.7967284 0.8126629 0.8289162
Обратите внимание, что они векторизованы. Итак, нам не нужен цикл
(0.68 * (1 + 0.02) ^ (1:10))
#[1] 0.6936000 0.7074720 0.7216214 0.7360539 0.7507749 0.7657904
#[7] 0.7811063 0.7967284 0.8126629 0.8289162