#' #' @title Estimation des facteurs de croissance annuels des EPRC projetés par
#' #' âge et âge de retraite
#' #'
#' #' @description Ce module estime les facteurs de croissance annuels des EPRC
#' #' projetés pour chaque âge et âge de retraite afin de les appliquer sur les
#' #' EPRC projetés à partir du registre des rentes.
#' #'
#' #' @param EPRC_PROJECTION_FLEX data frame contenant les projections des EPRC
#' #' calculés à l'étape 3: \code{\link{mod_eprc_projection_flex}}.
#' #'
#' #' @param list `tidylist`. Elément obligatoire dans tous les modules. Au lieu de
#' #'   fournir des dataframes au module, il est possible de l'alimenter uniquement
#' #'   avec une`tidylist` qui contient les tidy dataframes. Tous les datframes
#' #'   listés doivent être présents dans la tidylist, avec le même nom. De plus,
#' #'   la `tidylist` peut aussi contenir des dataframes qui ne sont pas utilisés
#' #'   par le module.
#' #'
#' #' @references \href{https://www.bsv.admin.ch/dam/bsv/fr/dokumente/ahv/finanzperspektiven/validierung-modellansatz-ahv.pdf.download.pdf/2018_07_09_definitif_ld_rapport_ofas.pdf}{Rapport de Prof. Dr Laurent Donzé}
#' #'
#' #' @return une `tidylist` contenant le data frame suivant:
#' #' - `FACTEURS_CROISSANCE_EPRC_PROJETES_FLEX`
#' #'
#' #' @author [MAS BSV](mailto:sekretariat.mas@bsv.admin.ch)
#' #'
#' #' @export
#' #'
#' 
#' # mod_facteurs_crois_eprc_proj_flex_ <-
#' mod_facteurs_crois_eprc_proj_flex <- function(EPRC_PROJECTION_FLEX
#'                                               ) {
#'     
#'     print("Run module: mod_facteurs_crois_eprc_proj_flex")
#' 
#'   # --- Calcul des taux de croissance par âge, âge de retraite et par année -------
#' 
#'   FACTEURS_CROISSANCE_EPRC_PROJETES_FLEX <- EPRC_PROJECTION_FLEX %>%
#'     arrange(sex, nat, dom, alt, age_ret, zv, gpr, jahr) %>%
#'     group_by(sex, nat, dom, alt, age_ret, zv, gpr) %>%
#'     mutate(wachstumsfaktor = eprc / lag(eprc)) %>%
#'     mutate(wachstumsfaktor = if_else(is.na(wachstumsfaktor) & jahr == min(jahr),
#'       1,
#'       wachstumsfaktor
#'     )) %>%
#'     # Hypothèse: ceux qu'on divise par 0 évoluent de manière constante
#'     mutate(wachstumsfaktor = if_else(is.infinite(wachstumsfaktor), 1, wachstumsfaktor))
#' 
#' 
#'   return(list(
#'       FACTEURS_CROISSANCE_EPRC_PROJETES_FLEX = FACTEURS_CROISSANCE_EPRC_PROJETES_FLEX
#'       )
#'   )
#' }
