Test du log-rank stratifié en R : ajuster sur un facteur de confusion

Comparez la survie entre groupes tout en contrôlant un facteur pronostique avec survdiff(… + strata()) — et voyez si la stratification change votre conclusion

Apprenez le test du log-rank stratifié en R avec les packages survival et survminer. Comparez la survie entre groupes tout en contrôlant un facteur pronostique de confusion avec survdiff(Surv(time, status) ~ group + strata(factor)), lisez le khi-deux et la p-value face au test non stratifié, et tracez une courbe de Kaplan-Meier facettée par le facteur de stratification sur les données de cancer du poumon du NCCTG.

Date de publication

25 juin 2026

Modifié

7 juillet 2026

AstucePoints clés
  • Le test du log-rank stratifié compare la survie entre groupes tout en contrôlant un facteur pronostique (centre d’étude, stade de la maladie, indice de performance). Il effectue la comparaison du log-rank dans chaque strate, puis met en commun les résultats — la différence entre groupes n’est donc pas confondue avec ce facteur.
  • Lancez-le avec survdiff(Surv(time, status) ~ group + strata(factor), data). La variable de groupe que vous comparez se place à gauche de + strata() ; le facteur que vous ajustez va dans strata().
  • Sur les données de cancer du poumon, comparer la survie selon le sexe en ajustant sur l’indice de performance ECOG donne χ² = 10.8, df = 1, p = 0.001 — soit pratiquement le résultat non stratifié (χ² = 10.3, p = 0.0013). L’indice de performance n’a pas confondu la différence de sexe, la conclusion tient donc.
  • Stratifiez quand le facteur est un facteur de confusion connu (déséquilibré entre les groupes et pronostique) ou quand la randomisation a été stratifiée dessus. Pour estimer de combien le facteur modifie l’effet, ajustez plutôt un modèle de Cox avec la covariable.
  • Trop de strates = cellules clairsemées (peu d’événements par strate) → un test instable. Stratifiez sur le ou les deux facteurs qui comptent, pas sur tout.

Introduction

Vous comparez la survie entre deux bras de traitement et le bras expérimental paraît meilleur. Mais les bras n’étaient pas parfaitement équilibrés : davantage de patients plus malades — moins bon indice de performance, stade plus tardif — se sont retrouvés dans le bras témoin. L’écart de survie est-il un véritable effet du traitement, ou seulement le fait que le bras témoin partait plus malade ? C’est de la confusion, et un simple test du log-rank ne peut pas distinguer les deux.

Le test du log-rank stratifié est la solution. Il répartit les patients en strates définies par le facteur de confusion (chaque niveau d’indice de performance, chaque centre d’étude), effectue la comparaison du log-rank de vos groupes dans chaque strate, et met en commun ces comparaisons intra-strate en un seul test. Comme chaque comparaison a lieu entre des patients qui partagent le même niveau du facteur de confusion, le facteur ne peut plus piloter le résultat. Utilisez-le chaque fois que vous voulez comparer la survie entre groupes tout en maintenant fixe un facteur pronostique.

Cette leçon effectue le test du log-rank stratifié en R avec survival (le test, survdiff() avec strata()) et survminer (la courbe de Kaplan-Meier facettée par le facteur de stratification), sur les mêmes données de cancer du poumon du NCCTG utilisées dans la leçon sur le test du log-rank — vous pouvez ainsi comparer directement les résultats stratifié et non stratifié.

NoteLes hypothèses

Le test du log-rank stratifié pose la même question que le test du log-rank ordinaire, mais dans les strates :

H₀ : les courbes de survie sont identiques entre les groupes, dans chaque strate (aucune différence entre groupes après ajustement sur le facteur de stratification). Hₐ : les courbes de survie diffèrent entre les groupes dans au moins une strate, dans une direction cohérente d’une strate à l’autre.

Il teste l’effet de groupe commun mis en commun sur les strates — et non si les strates elles-mêmes diffèrent.

Quand faut-il stratifier ?

Stratifiez sur un facteur quand il est un facteur de confusion — ce qui signifie que ces deux conditions tiennent :

  • Il est pronostique : il affecte la survie à lui seul (un moins bon score ECOG → moins bonne survie).
  • Il est déséquilibré entre vos groupes : un groupe a davantage d’un niveau que l’autre.

Un facteur qui est pronostique et déséquilibré va biaiser la comparaison non stratifiée ; la stratification supprime ce biais. Deux déclencheurs courants :

  • Randomisation stratifiée. Si un essai a randomisé le traitement au sein des niveaux d’un facteur (la norme pour le stade, la région, le statut du biomarqueur), l’analyse principale doit stratifier sur le même facteur — l’analyse doit correspondre au plan.
  • Déséquilibre observé. Dans une comparaison observationnelle, vérifiez si un facteur pronostique fort est réparti de façon inégale entre vos groupes ; si c’est le cas, stratifiez dessus.

Ne stratifiez pas sur un facteur équilibré et seulement faiblement pronostique — il n’apporte rien et coûte de la puissance en fractionnant les données. Et n’accumulez pas de nombreux facteurs à la fois (voir Problèmes courants).

Les données : l’étude de cancer du poumon du NCCTG

Nous utilisons lung du package survival — la survie de 228 patients atteints d’un cancer du poumon avancé. Avec survival attaché, lung est disponible directement (aucun appel à data() nécessaire) :

library(survival)

head(lung)
  inst time status age sex ph.ecog ph.karno pat.karno meal.cal wt.loss
1    3  306      2  74   1       1       90       100     1175      NA
2    3  455      2  68   1       0       90        90     1225      15
3    3 1010      1  56   1       0       90        90       NA      15
4    5  210      2  57   1       1       90        60     1150      11
5    1  883      2  60   1       0      100        90       NA       0
6   12 1022      1  74   1       1       50        80      513       0

Les colonnes que nous utilisons :

  • time — temps de survie en jours.
  • status — statut de censure : 1 = censuré (vivant au dernier suivi), 2 = décédé (l’événement).
  • sex1 = homme, 2 = femme — les groupes que nous comparons.
  • ph.ecogindice de performance ECOG (0 = pleinement actif … 3 = alité), un facteur pronostique fort — la variable que nous allons ajuster.

Pourquoi ph.ecog est ici un candidat facteur de confusion : il est clairement pronostique (les patients plus malades meurent plus tôt), et il n’est pas parfaitement équilibré entre les sexes. Regardez le tableau croisé :

library(survival)

# sex (rows: 1 = male, 2 = female) by ECOG performance score (columns)
table(sex = lung$sex, ph.ecog = lung$ph.ecog)
   ph.ecog
sex  0  1  2  3
  1 36 71 29  1
  2 27 42 21  0

La plupart des patients sont ECOG 0–2 ; un patient est ECOG 3 et un a un score manquant. Ce seul patient ECOG-3 est une strate de taille un — un avant-goût du problème des strates clairsemées sur lequel nous revenons plus bas.

La comparaison non stratifiée (la référence)

D’abord, le test du log-rank ordinaire de la survie selon le sexe — le résultat dont nous voulons vérifier la confusion. C’est le test du log-rank de la leçon précédente :

library(survival)

unstrat <- survdiff(Surv(time, status) ~ sex, data = lung)
unstrat
Call:
survdiff(formula = Surv(time, status) ~ sex, data = lung)

        N Observed Expected (O-E)^2/E (O-E)^2/V
sex=1 138      112     91.6      4.55      10.3
sex=2  90       53     73.4      5.68      10.3

 Chisq= 10.3  on 1 degrees of freedom, p= 0.001 

La survie diffère significativement entre les sexes : χ² = 10.3 sur 1 df, p = 0.0013 — les femmes (sex = 2) ont eu moins de décès qu’attendu (53 observés contre 73.4 attendus), les hommes davantage. La question est de savoir si cet écart résiste à l’ajustement sur l’indice de performance, ou s’il reflète en partie une confusion du sexe avec l’ECOG.

Lancer le test du log-rank stratifié : survdiff(... + strata())

Ajoutez le facteur de confusion dans strata() à droite de la formule. La variable de groupe que vous comparez (sex) reste un terme ordinaire ; le facteur que vous ajustez (ph.ecog) va dans strata() :

library(survival)

strat <- survdiff(Surv(time, status) ~ sex + strata(ph.ecog), data = lung)
strat
Call:
survdiff(formula = Surv(time, status) ~ sex + strata(ph.ecog), 
    data = lung)

n=227, 1 observation effacée parce que manquante.

        N Observed Expected (O-E)^2/E (O-E)^2/V
sex=1 137      111     90.6      4.57      10.8
sex=2  90       53     73.4      5.65      10.8

 Chisq= 10.8  on 1 degrees of freedom, p= 0.001 

Lisez la sortie en langage clair :

  • La note n=227, 1 observation deleted due to missingness — le seul patient avec un ph.ecog manquant est écarté, car un patient sans valeur de strate ne peut pas être placé dans une strate.
  • Le tableau indique, pour chaque groupe (toujours sex, non chaque strate), les événements Observed et les événements Expected — mais désormais « expected » est calculé dans chaque strate ECOG puis sommé. Les femmes ont de nouveau eu moins de décès qu’attendu (53 contre 73.4), les hommes davantage, à indice de performance fixé.
  • Chisq = 10.8 on 1 degrees of freedom. Les degrés de liberté = nombre de groupes − 1 (deux sexes → 1 df) — la stratification n’ajoute pas de degrés de liberté ; les strates sont ajustées, non testées.
  • p = 0.001. Comme p < 0.05, la survie diffère significativement entre les sexes même après ajustement sur l’indice de performance ECOG.

La stratification a-t-elle changé la conclusion ?

Mettez les deux tests côte à côte — tout l’intérêt de stratifier est de voir si l’effet de groupe tient :

library(survival)

unstrat <- survdiff(Surv(time, status) ~ sex, data = lung)
strat   <- survdiff(Surv(time, status) ~ sex + strata(ph.ecog), data = lung)

comparison <- data.frame(
  Analysis = c("Unstratified", "Stratified by ph.ecog"),
  Chisq    = round(c(unstrat$chisq, strat$chisq), 2),
  df       = c(length(unstrat$n) - 1, length(strat$n) - 1),
  p_value  = signif(c(
    pchisq(unstrat$chisq, df = length(unstrat$n) - 1, lower.tail = FALSE),
    pchisq(strat$chisq,   df = length(strat$n)   - 1, lower.tail = FALSE)
  ), 3)
)
comparison
               Analysis Chisq df p_value
1          Unstratified 10.33  1 0.00131
2 Stratified by ph.ecog 10.80  1 0.00102

Le khi-deux bouge à peine — 10.3 → 10.8 — et la p-value reste autour de 0.001. La conclusion est inchangée : la différence de survie selon le sexe n’est pas expliquée par l’indice de performance. Dans ce jeu de données l’ECOG est pronostique mais seulement légèrement déséquilibré entre les sexes, l’ajustement laisse donc l’effet du sexe pratiquement intact.

C’est en soi un résultat utile. Quand les résultats stratifié et non stratifié concordent, vous avez montré que la comparaison est robuste à ce facteur de confusion. Quand ils divergent — le test non stratifié est significatif mais le test stratifié ne l’est pas (ou l’inverse) — le facteur confondait bien la comparaison, et le résultat stratifié est celui auquel se fier.

NoteLire le résultat : le HR est dans un modèle de Cox, pas ici

survdiff() renvoie un khi-deux et une p-value — la preuve que les courbes diffèrent après ajustement — mais aucune taille d’effet. Pour dire de combien la survie diffère (un hazard ratio) tout en ajustant sur le même facteur, ajustez un modèle de Cox stratifié : coxph(Surv(time, status) ~ sex + strata(ph.ecog), data = lung). Sur ces données le hazard ratio du sexe est de 0.57 (contre 0.59 non ajusté) — là encore à peine changé, confirmant une confusion faible. Le test du log-rank stratifié et un modèle de Cox stratifié sur un groupe binaire répondent à la même question ; seul Cox donne le hazard ratio.

Visualisez-le : courbes de Kaplan-Meier facettées par le facteur de stratification

Le test stratifié compare les groupes dans les strates, la figure correspondante montre donc les courbes de groupe dans un panneau distinct par strate. La fonction ggsurvplot_facet() de survminer fait exactement cela. Nous écartons le seul patient ECOG-3 et le seul score manquant pour que chaque panneau ait assez de patients à tracer, puis facettons par ECOG et affichons la p-value du log-rank intra-strate sur chaque panneau :

library(survival)
library(survminer)

# Keep ECOG 0/1/2 (drop the single ECOG-3 patient and the one missing score)
lung_ecog <- lung[!is.na(lung$ph.ecog) & lung$ph.ecog != 3, ]
lung_ecog$ECOG <- factor(lung_ecog$ph.ecog,
                         levels = c(0, 1, 2),
                         labels = c("ECOG 0", "ECOG 1", "ECOG 2"))

# Keep sex as the raw 1/2 codes and label the legend (the survminer-safe pattern)
fit <- survfit(Surv(time, status) ~ sex, data = lung_ecog)

ggsurvplot_facet(
  fit,
  data         = lung_ecog,
  facet.by     = "ECOG",
  pval         = TRUE,             # within-stratum log-rank p, on each panel
  conf.int     = TRUE,            # 95% confidence bands
  palette      = "jco",           # colourblind-safe journal palette
  legend.title = "Sex",
  legend.labs  = c("Male", "Female"),
  xlab         = "Time (days)",
  ylab         = "Survival probability",
  ggtheme      = theme_minimal()
)

A survminer Kaplan-Meier plot split into three side-by-side panels, one per ECOG performance score (0, 1, 2), each comparing the survival of male and female lung-cancer patients. The female curve sits above the male curve in every panel; within-stratum log-rank p-values of 0.11, 0.0068, and 0.25 are printed on the panels, with shaded 95% confidence bands.

Lisez les panneaux ensemble : la courbe féminine se situe au-dessus de la courbe masculine dans chaque strate ECOG — l’avantage des femmes est cohérent d’un niveau d’indice de performance à l’autre, ce qui est exactement la condition que le test stratifié met en commun. Remarquez les p-values par panneau (0.11, 0.0068, 0.25) : chaque panneau seul est sous-puissant car il ne porte qu’une fraction des patients, alors que le test stratifié met en commun les trois en une seule comparaison (χ² = 10.8, p = 0.001) avec bien plus de puissance que n’importe quel panneau isolé. Cette mise en commun est l’intérêt de stratifier plutôt que de lancer des tests intra-groupes séparés.

Rapport

La survie a été comparée entre patients hommes et femmes avec un test du log-rank stratifié sur l’indice de performance ECOG sur les données de cancer du poumon du NCCTG (n = 227 après exclusion d’un patient au score manquant). Après ajustement sur l’indice de performance, la survie différait significativement entre les sexes (χ²(1) = 10.8, p = 0.001), les femmes survivant plus longtemps ; le résultat était inchangé par rapport au test non stratifié (χ²(1) = 10.3, p = 0.0013), indiquant que la différence de sexe n’était pas confondue par l’indice de performance. Les courbes de Kaplan-Meier par sexe dans chaque strate ECOG sont présentées à la Figure 1.

Le test du log-rank stratifié est une version mise en commun par strate du test du log-rank ordinaire. Dans chaque strate \(h\), à chaque temps d’événement vous calculez les événements observés moins attendus pour le groupe 1 et la variance, exactement comme dans le test non stratifié — mais séparément par strate. Vous sommez ensuite ces contributions à travers les strates avant de former la statistique :

\[ \chi^2 = \frac{\left( \sum_h (O_{1h} - E_{1h}) \right)^2}{\sum_h V_h} \]

\(O_{1h}\), \(E_{1h}\) et \(V_h\) sont les événements observés, les événements attendus et la variance pour le groupe 1 dans la strate \(h\), chacun cumulé sur les temps d’événement de cette strate. Les comparaisons n’ont jamais lieu qu’entre patients de la même strate, si bien qu’un facteur qui définit les strates ne peut pas biaiser la comparaison de groupes. Sous H₀ la statistique suit une distribution du khi-deux avec (nombre de groupes − 1) degrés de liberté — les strates sont ajustées, non testées, elles n’ajoutent donc aucun degré de liberté. C’est l’idée de Mantel-Haenszel appliquée aux temps de survie.

Stratifier ou le mettre dans un modèle de Cox ?

Stratifier et ajuster dans un modèle de Cox contrôlent tous deux un facteur — ils répondent à des questions légèrement différentes :

AstuceStratifier vs. ajuster
  • Log-rank stratifié / Cox stratifié+ strata(factor). À utiliser quand le facteur est un facteur de confusion parasite que vous voulez supprimer, non estimer, et surtout quand son effet sur la survie peut être non proportionnel (les strates obtiennent leur propre risque de base, aucune hypothèse de risques proportionnels sur le facteur de stratification). Vous obtenez une p-value (et, dans Cox, le HR du groupe) ajustée sur le facteur — mais aucune estimation pour le facteur lui-même.
  • Cox avec le facteur en covariable~ group + factor. À utiliser quand vous voulez aussi le hazard ratio propre du facteur, ou quand il est continu (âge) — vous ne pouvez pas stratifier sur une variable continue sans la découper en classes. Suppose des risques proportionnels pour le facteur.
  • Règle pratique : une poignée de facteurs parasites catégoriels aux effets possiblement non proportionnels → stratifiez ; un facteur dont la taille d’effet vous intéresse, ou un facteur continu → covariable dans Cox.

Essayez en direct

Lancez vous-même le test du log-rank stratifié — changez le facteur de stratification, ou comparez les résultats stratifié et non stratifié. Le bac à sable démarre au premier Run.

🟢 Avec un agent IA

Demandez à Prova « compare la survie entre mes groupes de traitement en ajustant sur le centre d’étude avec un test du log-rank stratifié, dis-moi en langage clair si la stratification change le résultat, et trace les courbes de Kaplan-Meier facettées par centre » — elle répond avec du code survival + survminer que vous pouvez exécuter sur vos propres données. The runtime is the judge. Demander à Prova →

Problèmes courants

Trop de strates — le test devient instable ou « supprime » la majeure partie de vos données. Chaque niveau de chaque facteur de stratification (et chaque combinaison, si vous stratifiez sur plusieurs) est une strate distincte, et une strate sans événement dans un groupe ne contribue en rien. Stratifiez sur tous le stade, le centre, l’ECOG et la tranche d’âge et vous pouvez finir avec des dizaines de strates quasi vides et un χ² instable. Tenez-vous-en au ou aux deux facteurs réellement confondants ; vérifiez les tailles de strate avec table(factor1, factor2, group) et visez un nombre raisonnable d’événements (pas seulement de patients) par strate.

Une valeur manquante du facteur de stratification écarte le patient. survdiff(... + strata(ph.ecog)) signale 1 observation deleted due to missingness parce qu’un patient sans ph.ecog n’a pas de strate. Si la proportion de données manquantes dépasse quelques pour cent, cela réduit discrètement votre échantillon et peut biaiser le résultat — décidez délibérément (cas complets, une strate « Missing » explicite via addNA(), ou imputation) plutôt que de laisser des lignes disparaître en silence.

Vous avez stratifié, mais vous vouliez en fait l’effet du facteur. strata() supprime le facteur — il ne renvoie ni hazard ratio ni p-value pour le facteur de stratification. Si vous voulez l’effet propre du facteur (ou s’il est continu), mettez-le dans un modèle de Cox en covariable (~ group + factor) plutôt que dans strata().

Questions fréquentes

Un test du log-rank stratifié compare la survie de deux groupes ou plus tout en contrôlant un facteur pronostique — par exemple, comparer deux traitements en ajustant sur le centre d’étude, le stade de la maladie ou l’indice de performance. Il effectue la comparaison du log-rank dans chaque niveau du facteur et met en commun les résultats, si bien qu’un facteur réparti de façon inégale entre les groupes (un facteur de confusion) ne peut pas biaiser la comparaison. C’est l’analyse standard quand la randomisation d’un essai a été stratifiée sur ce facteur.

Utilisez survdiff() avec strata() : survdiff(Surv(time, status) ~ group + strata(factor), data = data). La variable de groupe que vous comparez se place à gauche de + strata() ; le facteur de confusion que vous ajustez va dans strata(). La sortie est une statistique du khi-deux et une p-value pour la différence entre groupes, ajustée sur le facteur de stratification. Les degrés de liberté égalent le nombre de groupes moins un — la stratification n’ajoute pas de degrés de liberté.

Stratifiez (+ strata(factor)) quand le facteur est un facteur de confusion parasite que vous voulez supprimer mais non estimer, et surtout quand son effet peut être non proportionnel dans le temps — chaque strate obtient son propre risque de base. Ajustez (~ group + factor dans un modèle de Cox) quand vous voulez aussi le hazard ratio propre du facteur, ou quand le facteur est continu (vous ne pouvez pas stratifier sur une variable continue sans la découper en classes). Un test du log-rank stratifié et un modèle de Cox stratifié répondent à la même question pour un groupe binaire ; seul Cox renvoie le hazard ratio.

Lancez les deux tests et comparez le khi-deux et la p-value. S’ils sont similaires, la différence entre groupes n’est pas confondue par ce facteur et votre résultat non stratifié est robuste. S’ils diffèrent nettement — significatif non stratifié mais pas stratifié (ou l’inverse) — le facteur confondait la comparaison, et le résultat stratifié est celui à rapporter. Inspectez toujours aussi les courbes de Kaplan-Meier dans les strates : la stratification suppose que l’effet de groupe va dans une direction cohérente d’une strate à l’autre.

Aussi peu que possible pour faire le travail — généralement un ou deux. Chaque niveau (et chaque combinaison entre facteurs) est une strate distincte, et les données sont réparties entre elles. Stratifiez sur trop de facteurs et vous obtenez des strates clairsemées avec trop peu d’événements par cellule, un khi-deux instable et une perte de puissance. Un guide approximatif est de garder assez d’événements (pas seulement de patients) dans chaque groupe au sein de chaque strate ; si vous devez contrôler plusieurs facteurs à la fois, un modèle de Cox avec ajustement sur covariables est le plus souvent le meilleur outil.

Testez vos connaissances

  1. Lancez-le. Dans la cellule live ci-dessous, stratifiez la comparaison des sexes par ph.ecog — remplissez le blanc dans strata(). Le test non stratifié sur les mêmes données s’exécute juste au-dessus. Les deux p-values mènent-elles à la même conclusion ?
  2. Interprétez. Un test du log-rank non stratifié de deux bras donne p = 0.04 ; stratifié par centre d’étude il donne p = 0.21. En langage clair, qu’est-ce que cela vous apprend, et quel résultat rapportez-vous ?

Remplissez le blanc avec ph.ecog — il va dans strata(), car c’est le facteur que vous ajustez, non les groupes que vous comparez. Comparez les lignes Chisq/p des deux tests : si les deux donnent p bien en dessous de 0.05, la stratification n’a pas changé la conclusion (l’effet du sexe n’est pas confondu par l’ECOG).

survdiff(Surv(time, status) ~ sex, data = lung)
#> Chisq = 10.3 on 1 df, p = 0.0013   (unstratified)

survdiff(Surv(time, status) ~ sex + strata(ph.ecog), data = lung)
#> Chisq = 10.8 on 1 df, p = 0.001    (stratified — 1 row dropped for missing ph.ecog)

Les deux tests sont nettement significatifs (p ≈ 0.001), ils mènent donc à la même conclusion : les femmes survivent plus longtemps, et cette différence n’est pas confondue par l’indice de performance.

Pour la question 2 : le test non stratifié (p = 0.04) était significatif, mais après ajustement sur le centre d’étude il ne l’est pas (p = 0.21). Le centre d’étude était un facteur de confusion — la différence apparente entre bras était largement expliquée par un déséquilibre de centre. Rapportez le résultat stratifié (p = 0.21) : il n’y a aucune preuve convaincante d’une différence de traitement une fois le centre pris en compte.

AstuceVérification rapide

Un essai a randomisé le traitement au sein de blocs de stade de la maladie (randomisation stratifiée). Pour la comparaison principale de survie, devez-vous utiliser un test du log-rank stratifié ou non stratifié ?

Stratifié, avec strata(stage). L’analyse doit correspondre au plan : quand la randomisation a été stratifiée sur un facteur, l’analyse principale stratifie sur le même facteur. Cela préserve l’équilibre que le plan a intégré et donne une inférence valide ; un test non stratifié ignore la structure stratifiée de la randomisation.

Conclusion

Vous savez maintenant lancer le test du log-rank stratifié en R pour comparer la survie entre groupes tout en contrôlant un facteur de confusion : placez les groupes à gauche et le facteur de confusion dans strata()survdiff(Surv(time, status) ~ group + strata(factor), data) — et lisez le khi-deux, ses degrés de liberté (groupes − 1, non gonflés par les strates), et la p-value. Le geste clé est de le comparer avec le test non stratifié : s’ils concordent, votre comparaison est robuste à ce facteur ; s’ils divergent, le facteur confondait et le résultat stratifié est celui auquel se fier. Sur les données lung, ajuster la comparaison des sexes sur l’indice de performance l’a laissée pratiquement inchangée (χ² 10.3 → 10.8, p ≈ 0.001). Visualisez-le avec la fonction ggsurvplot_facet() de survminer, un panneau par strate. Quand vous avez besoin du hazard ratio ajusté — ou de contrôler un facteur continu — tournez-vous plutôt vers le modèle de Cox.

Leçons connexes

  • Test du log-rank — la comparaison non stratifiée sur laquelle cette leçon s’appuie ; commencez là si vous n’avez pas encore lancé un test du log-rank de base. · Modèle de Cox à risques proportionnels — ajustez sur des covariables (continues ou catégorielles) et obtenez le hazard ratio, y compris le modèle de Cox stratifié. · Test du log-rank pondéré — l’alternative quand les courbes de survie se croisent (risques non proportionnels) plutôt que quand un facteur confond la comparaison.
  • Pour aller plus loin : Analyse de survie — la série complète. · Biostatistiques — le pilier.
Cette page vous a-t-elle été utile ?

Prouvez que vous savez le faire. Maîtrisez toute la série Analyse de survie en R — suivez votre parcours, construisez des projets et obtenez un certificat.

Commencer gratuitement →

Passez à Pro — Prova illimité sur vos propres données et un certificat vérifiable qui atteste la compétence.

dès 15 $/mois facturé annuellement

Passer à Pro →

✓ Vous êtes Pro — continuez. The runtime is the judge.

Recevez les nouvelles leçons R & Python par e-mail

Pratique, reproductible, sans spam. Désinscription à tout moment.

Double opt-in. Nous ne partageons jamais votre e-mail.

Partager cette pageXLinkedInRedditHN
Note

Chaque résultat de cette page a été produit par le code montré, exécuté au moment du build contre un environnement R figé — modifiez n’importe quel bloc et faites Run pour le reproduire vous-même.

Réutilisation

Citation

BibTeX
@online{2026,
  author = {},
  title = {Test du log-rank stratifié en R : ajuster sur un facteur de
    confusion},
  date = {2026-06-25},
  url = {https://www.datanovia.com/learn/biostatistics/survival-analysis/stratified-log-rank},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
“Test du log-rank stratifié en R : ajuster sur un facteur de confusion.” 2026. June 25. https://www.datanovia.com/learn/biostatistics/survival-analysis/stratified-log-rank.