Analyse de Survie : Un Guide pour Débutants

Bonjour, aspirants data scientists ! Aujourd'hui, nous allons entreprendre un voyage passionnant dans le monde de l'analyse de survie en utilisant R. Ne vous inquiétez pas si vous n'avez jamais écrit une ligne de code auparavant - je serai votre guide amical à chaque étape. C'est parti !

R - Survival Analysis

Qu'est-ce que l'Analyse de Survie ?

Avant de commencer à coder, comprenons ce qu'est l'analyse de survie. Imaginez que vous êtes un médecin qui étudie combien de temps les patients survivent après un certain traitement. Ou peut-être que vous êtes un analyste financier qui observe combien de temps les clients restent avant d'annuler un abonnement. C'est là que l'analyse de survie devient utile !

L'analyse de survie nous aide à répondre à des questions telles que :

  • Combien de temps jusqu'à ce qu'un événement se produise ?
  • Quels facteurs influencent le temps jusqu'à l'événement ?
  • Comment les différents groupes se comparent en termes de temps de survie ?

Maintenant, mettons les mains dans le cambouis avec un peu de code R !

Installation et Chargement des Paquets Nécessaires

Premierement, nous devons installer et charger les paquets nécessaires. En R, les paquets sont comme des boîtes à outils contenant des fonctions utiles pour des tâches spécifiques.

# Installer le paquet 'survival'
install.packages("survival")

# Charger le paquet
library(survival)

Ne vous inquiétez pas si vous voyez des messages apparaître lorsque vous exécutez ces commandes. Tant qu'il n'y a pas de messages d'erreur en rouge, vous êtes sur la bonne voie !

Chargement et Exploration des Données

Pour ce tutoriel, nous allons utiliser un jeu de données intégré appelé 'lung' du paquet survival. Ce jeu de données contient des informations sur des patients atteints d'un cancer du poumon avancé.

# Charger le jeu de données lung
data(lung)

# Jeter un coup d'œil aux premières lignes
head(lung)

# Obtenir un résumé du jeu de données
summary(lung)

Lorsque vous exécutez ces commandes, vous verrez un aperçu des données. Prenez un moment pour vous familiariser avec les variables. Nous allons travailler avec :

  • 'time' : temps de survie en jours
  • 'status' : statut de censure (1=censuré, 2=décédé)
  • 'age' : âge du patient
  • 'sex' : sexe du patient (1=masculin, 2=féminin)

Création d'un Objet Survie

Maintenant, créons un objet survie. Il s'agit d'un objet spécial R qui combine le temps de survie et le statut d'événement.

# Créer un objet survie
surv_object <- Surv(time = lung$time, event = lung$status == 2)

# Afficher les premières entrées
head(surv_object)

Vous verrez une série de nombres avec des signes '+'. Le '+' indique les observations censurées (patients qui étaient encore en vie à la fin de l'étude).

Courbe de Survie Kaplan-Meier

L'une des visualisations les plus courantes en analyse de survie est la courbe de Kaplan-Meier. Elle montre la probabilité de survie au fil du temps.

# Ajuster une courbe de Kaplan-Meier
km_fit <- survfit(surv_object ~ 1, data = lung)

# Tracer la courbe
plot(km_fit, main = "Courbe de Survie Kaplan-Meier",
xlab = "Temps (jours)", ylab = "Probabilité de Survie")

Voilà ! Vous venez de créer votre première courbe de survie. L'axe des y indique la probabilité de survie, et l'axe des x indique le temps en jours. La courbe descend à chaque occurrence d'événement (décès).

Comparaison de Groupes : Masculin vs Féminin

Comapons les courbes de survie pour les hommes et les femmes.

# Ajuster des courbes de Kaplan-Meier par sexe
km_sex <- survfit(surv_object ~ sex, data = lung)

# Tracer les courbes
plot(km_sex, col = c("bleu", "rouge"), main = "Courbes de Survie par Sexe",
xlab = "Temps (jours)", ylab = "Probabilité de Survie")
legend("topright", c("Masculin", "Féminin"), col = c("bleu", "rouge"), lty = 1)

Vous avez maintenant deux courbes : bleue pour les hommes et rouge pour les femmes. Pouvez-vous voir des différences ?

Modèle de Risque Proportionnel de Cox

Enfin, ajustons un modèle de risque proportionnel de Cox. Ce modèle nous aide à comprendre comment différents facteurs affectent la survie.

# Ajuster un modèle de risque proportionnel de Cox
cox_model <- coxph(surv_object ~ age + sex, data = lung)

# Afficher le résumé
summary(cox_model)

Ne soyez pas intimidé par la sortie ! Voici ce à quoi il faut prêter attention :

  • La colonne 'coef' montre l'effet de chaque variable.
  • La colonne 'exp(coef)' est plus facile à interpréter : les valeurs > 1 indiquent un risque accru, < 1 un risque diminué.
  • La colonne 'Pr(>|z|)' montre la valeur p. Les petites valeurs (< 0.05) indiquent une signification statistique.

Conclusion

Félicitations ! Vous venez de terminer votre première analyse de survie en R. Nous avons couvert beaucoup de terrain, de la création d'objets de survie à l'ajustement de modèles complexes. Souvenez-vous, la pratique rend parfait. Essayez de jouer avec le code, changez les variables, et voyez ce qui se passe.

Voici un résumé des principales fonctions que nous avons utilisées :

Fonction But
Surv() Créer un objet de survie
survfit() Ajuster une courbe de survie
plot() Visualiser des courbes de survie
coxph() Ajuster un modèle de risque proportionnel de Cox

Continuez à explorer, continuez à apprendre, et surtout, amusez-vous avec R et l'analyse de survie !

Credits: Image by storyset