R/HypALM-load.R

##' Fonction \code{load_hyp_alm}.
##'
##' Cette fonction permet de charger les donnees pour un objet de type \code{\link{HypALM}}. Les donnees auront ete prealablement disposees dans
##' une architecture propre a \code{SiALM}.
##'
##' La creation d'un objet \code{\link{HypALM}} necessite plusieurs parametres presents dans un fichier nomme \code{Hypotheses_ALM.csv}.
##'
##' @name load_hyp_alm
##' @docType methods
##' @param address est un objet de type \code{character} indiquant le dossier dans lequel se situe l'ensemble des donnees necessaires
##' pour la construction de l'objet.
##' @author Damien Tichit pour Sia Partners
##' @seealso Chargement d'un objet \code{\link{ESG}} : \code{\link{load_esg}}
##' @export
##' @include HypALM-class.R ESG-class.R ESG-load.R
##'
setGeneric(name = "load_hyp_alm", def = function(address) {standardGeneric("load_hyp_alm")})
setMethod(
    f = "load_hyp_alm",
    signature = c(address = "character"),
    definition = function(address){

        # Lecture du fichier
        temp <- read.csv2(paste(address, "Hypotheses_ALM.csv", sep = "/"), header = TRUE, colClasses = c("integer", "integer"))

        # Lecture des donnes
        nb_simu <- temp[1L, "nb_simu"]
        an_proj <- temp[1L, "an_proj"]

        # Chargement de l'ESG
        esg  <- load_esg(paste(address, "01_ESG", sep = "/"))

        # Creation de l'objet
        hyp_alm <- new("HypALM", esg = esg, nb_simu = nb_simu, an_proj = an_proj)

        # Output
        return(hyp_alm)
    }
)
DTichit/ALModel documentation built on Feb. 11, 2021, 12:32 a.m.