Какова общая сумма депозита с фиксированной ежемесячной процентной ставкой и с увеличением суммы депозита каждый год? - PullRequest
0 голосов
/ 06 августа 2020

Предположим, у вас есть 50 долларов, а фиксированная ежемесячная процентная ставка составляет 5%. После первого года вы добавляете к нему 50 долларов за каждый последующий год, какова общая сумма денег, которую вы получите в конце трехлетнего периода.

Я понимаю, что в R это может быть просто вычисляется как

((50 x 1,05 ^ 12) +50) x 1,05 ^ 12) + 50) x 1,05 ^ 12 = 540,64

Есть ли способ написать функцию или l oop, поэтому при расчете большого количества лет, например, 10 лет, 15 лет и т. д. c. без ввода вручную?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 06 августа 2020

Вы можете написать простой l oop, который может быть легко понять:

get_calc_year_loop <- function(year) {
   ans <- 0
   for(i in seq_len(year)) {
     ans <- (ans + 50)*1.05^12
   }
   return(ans)
}

get_calc_year_loop(3)
#[1] 540.6386

Однако вы также можете сделать это без l oop, используя Reduce:

get_calc_year <- function(year) {
   Reduce(function(x, y) (x + 50) * 1.05^12, seq_len(year), init = 0)
}
get_calc_year(3)
#[1] 540.6386
0 голосов
/ 06 августа 2020

Мы можем сделать это с помощью reduce из purrr

library(purrr)
get_calc_year <- function(year) {
       reduce(seq_len(year), ~ (.x + 50) * 1.05 ^12, .init = 0)
 }
get_calc_year(3)
#[1] 540.6386
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...