Retour à l'accueil Page précédente

R et les modèles de durée


Cette page est consacrée à la description de l'utilisation de R dans le cadre de modèles de durée.

Une page de ressources (fichiers et packages) lui est associée.

Décès et expositions

Contexte


On dispose de données "tête par tête" sur une période d'observation fixée et on souhaite calculer le nombre de décès par âge ainsi que l'exposition au risque, afin par exemple de réliaser un ajustement dans le cadre du maximum de vraisemblance discret.

Références

Support de cours sur la "Statistique des modèles de durée paramétriques et semi-paramétriques".

Mise en oeuvre

Nombre de décès par âge


La fonction suivante calcule le nombre de décès par âge à partir d'un data frame contenant les données tête par tête.

CompteDeces=function(t, DateDebutObservation, DateFinObservation){
#Calcul du nombre de décès sur la période
#Data est un data frame avec les champs DateEntree, DateSortie, AgeSortie et non_censure
#DateDebutObservation est la date de début d'observation
#DateFinObservation est la date de fin d'observation

#Un décès est comptabilisé si la date de décès est incluse dans la période d'observation

#Calcul des dates à partir des chaines passées en paramètres

DateDebut=strptime(DateDebutObservation,"%d/%m/%Y")
DateFin=strptime(DateFinObservation,"%d/%m/%Y")

#Sélection des enregistrements dans la période d'observation

i=(t$DateSortie>=DateDebut)&(t$DateSortie<=DateFin)
t_obs=subset(t,i==TRUE)

#Décompte des décès

dc=as.vector(0:120)

for (x in 0:120){
dc[x+1]=sum(t_obs$non_censure[round(t_obs$AgeSortie)==x])
}

#La fonction retourne un vecteur contenant les effectifs de décès par âge
dc

}

L'appel de la fonction ci-dessus se fait sous la forme :

source("C:\\Logiciel R\\Outils\\Deces.r")
deces=CompteDeces(t,"01/01/2005","31/12/2006")


Une fois déterminés les vecteurs des décès et des expositions, les taux bruts s'en déduisent simplement via :


q=deces/expo

Scripts écrits par Frédéric PLANCHET et Marc JUILLARD © 2007-2009