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
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
|