#-------------------------------------------------------------------------------
#Exemples d'asjuteùments de lois de maintien en incapacité
#-------------------------------------------------------------------------------
#Réinitialisation de l'espace de travail
rm(list=ls())
dossier = getwd()
#dossierOutils="C:/data/Logiciel R/Outils"
dossierOutils="http://www.ressources-actuarielles.net/C1256F13006585B2/0/041c5a177d963c7fc12573b5002387b4/$FILE"
dossierData=paste(dossier,"/data",sep="")
dossierTables=paste(dossier,"/tables",sep="")
dossierResultats=paste(dossier,"/resultats/",sep="")
dossierFigures=paste(dossier,"/figures/",sep="")

modeleBrass="Brass"
modeleWH="WH"

#-------------------------------------------------------------------------------
#Paramètres
ageMin=23
ageMax=62
ancMin=0
ancMax=36
nbJoursMois=365.25/12

versionBCAC="BCAC2013"

listeEchantillonnage=c(1,.2,.05)

#-------------------------------------------------------------------------------
library(survival)                                
source(paste(dossierOutils,"\\OutilsSurvie.R",sep=""))
#-------------------------------------------------------------------------------
#Initialisation de la gestion des figures
sauveFigure=function(){
  numeroFigure=length(list.files(dossierFigures))+1
  png(file=paste(dossierFigures,"/",format(tauxEchantillonnage*100),"_fig",numeroFigure,".png", sep=""), width  = 2*2100, height = 2100, res=300, pointsize= 12)
  }                                                                                                                                    
#-------------------------------------------------------------------------------
supprimeModalitesVides=function(x, v=NULL){
  if (!is.data.frame(x)) x <- as.data.frame(x)
  # Les variables a traiter sont specifiees ?
  if (is.null(v))
    v <- names(x)
  # Pour chaque variable de type facteur, supression des levels inutilisés
  for (i in 1:length(x)) {
    if (is.factor(x[[i]]) & names(x)[i] %in% v) 
      x[[i]] <- factor(x[[i]])
    }
  return(x)
  }
#-------------------------------------------------------------------------------
resTables=list()

for (tauxEchantillonnage in listeEchantillonnage){

  cat(paste("Taux d'échantillonnage ; ",format(tauxEchantillonnage*100)," %",sep=""),"\n")

  source("1-ImporteTraite.r")
  source("2-Calculs.r")
  source("3-Ajustements.r")
  #Comparaison des nombres de sorties modélisés et observés globalement
  sortiesObservees=sum(expo*tauxBruts)
  nomAjustement=paste(format(tauxEchantillonnage*100)," - ",modeleBrass,sep="")
  sortiesModele=expo*resTables[[format(tauxEchantillonnage*100)]]$Brass$tauxAjustes
  sortiesTheoriques=sum(sortiesModele)
  cat(paste("Sorties modélisées / sorties observées (Brass) : ", sortiesTheoriques/sortiesObservees,sep=""),"\n")
  sortiesBrutes=sorties
  source("4-Validation.r")
  nomAjustement=paste(format(tauxEchantillonnage*100)," - ",modeleWH,sep="")
  sortiesModele=expo*resTables[[format(tauxEchantillonnage*100)]]$WH$tauxAjustes
  sortiesTheoriques=sum(sortiesModele)
  cat(paste("Sorties modélisées / sorties observées (WH) : ", sortiesTheoriques/sortiesObservees,sep=""),"\n")
  source("4-Validation.r")
  
  }