Warning: le package 'readr' a été compilé avec la version R 4.3.3
trans <- read.csv("https://raw.githubusercontent.com/mthevenin/analyse_duree/master/bases/transplantation.csv")
Marc Thévenin
Ined
13 juin 2023
Comment récupérer la variante du test de Grambsch-Therneau implémentée au package survival
avant son passage à la v3. Permet de s’assurer une reproductibilité avec les autres applications statistiques (Stata, Sas, Python) avec des durées discrètes.
Package | Fonctions |
---|---|
survival |
coxph - coxzph.old
|
Champ d’application
Problématique
survival
en 2020, le test OLS sur les résidus de Schoenfeld a été supprimé et remplacé par le test GLS. Le second est la version originelle du test proposé en 1994 par P.Grambsch et T.Therneau.lifelines
, statsmodels
) exécutent seulement le tests OLS.Récupération et exécution du test OLS
cox.zphold()
.source()
qui joue le même rôle que library()
.
source("https://raw.githubusercontent.com/mthevenin/analyse_duree/main/cox.zphold/cox.zphold.R")
source("local_path/cox.zphold.R")
Exemple
Warning: le package 'readr' a été compilé avec la version R 4.3.3
trans <- read.csv("https://raw.githubusercontent.com/mthevenin/analyse_duree/master/bases/transplantation.csv")
Warning: le package 'survival' a été compilé avec la version R 4.3.3
Réupération et exécution du test OLS
source("https://raw.githubusercontent.com/mthevenin/analyse_duree/main/cox.zphold/cox.zphold.R")
cox.zphold(coxfit)
rho chisq p
year 0.159 1.96 0.1620
age 0.109 1.15 0.2845
surgery 0.251 3.96 0.0465
GLOBAL NA 7.99 0.0462
---
title: "Récupérer et exécuter le test OLS de Grambsch-Therneau"
# toc-title: ""
# subtitle: ""
categories:
- Test
author:
- name: "Marc Thévenin"
affiliations:
- name: "Ined"
date: 06/13/2023
image: "https://m.media-amazon.com/images/P/1441931619.01._SCLZZZZZZZ_SX500_.jpg"
format:
html: default
abstract: |
Comment récupérer la variante du test de Grambsch-Therneau implémentée au package `survival` avant son passage à la v3. Permet de s'assurer une reproductibilité avec les autres applications statistiques (Stata, Sas, Python) avec des durées discrètes.
---
| Package | Fonctions |
|---------------|-------------------------------------------------|
| **survival** | `coxph` - `coxzph.old` |
**Champ d'application**
* Modèle de Cox (analyse des durées)
* Diagnostic sur l'hypothèse de proportionalité des risques
**Problématique**
- Depuis le passage à la version 3 du package **`survival`** en 2020, le test OLS sur les résidus de Schoenfeld a été supprimé et remplacé par le test GLS. Le second est la version originelle du test proposé en 1994 par P.Grambsch et T.Therneau.
- En présence d'évènements simultanés (durée discrète), les résultats affichés par les deux versions peuvent fortement variés.
- Lorsqu'on utilise le modèle de Cox avec des durées discrètes, situation très courante dans les sciences sociales, je préconise l'utilisation de la version dite *simplifiée* (OLS).
- Le modèle de Cox est une méthode à durée continue, les conditions de validité du test GLS ne sont établies avec des évènements mesurés simultanément.
- Contrainte de reproductibilité: **Stata**, **Sas**, **Python** (**`lifelines`**, **`statsmodels`**) exécutent seulement le tests OLS.
**Récupération et exécution du test OLS**
- J'ai récupéré le script de la fonction dans les archives du CRAN. Elle a simplement été renommée **`cox.zphold()`**.
- Pour charger la fonction, il suffit d'appliquer **`source()`** qui joue le même rôle que **`library()`**.
- Directement sur le dépôt github:
- **`source("https://raw.githubusercontent.com/mthevenin/analyse_duree/main/cox.zphold/cox.zphold.R")`**
- Si le script a été enregistré en local:
- **`source("local_path/cox.zphold.R")`**
**Exemple**
```{r filename="Récupération des données"}
library(readr)
trans <- read.csv("https://raw.githubusercontent.com/mthevenin/analyse_duree/master/bases/transplantation.csv")
```
```{r filename="Estimation d'un modèle de Cox"}
library(survival)
coxfit = coxph(formula = Surv(stime, died) ~ year + age + surgery, data = trans)
```
```{r filename="Réupération et exécution du test OLS"}
source("https://raw.githubusercontent.com/mthevenin/analyse_duree/main/cox.zphold/cox.zphold.R")
cox.zphold(coxfit)
```