Publié le :
Statistique CREATION_INTERNE

Analyse de survie pour thérapie par capture neutronique au bore

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le script commence par la création de trois datasets distincts ('control', 'rad', 'radbpa') en utilisant des blocs DATA et des instructions datalines pour intégrer les données de temps de survie et de censure. Chaque dataset représente un groupe de traitement différent dans le cadre d'une étude. Ces trois datasets sont ensuite combinés en un dataset unique nommé 'prob7_7'. Deux variables indicatrices ('grp1', 'grp2') sont créées pour faciliter l'identification des groupes 'rad' et 'radbpa' dans les analyses ultérieures. Après un affichage sommaire des données combinées via PROC PRINT pour vérification, le cœur de l'analyse est effectué par PROC LIFETEST. Cette procédure est configurée pour estimer et comparer les fonctions de survie (Kaplan-Meier par défaut) et les fonctions de risque entre les trois groupes ('trt') avec une correction de Bonferroni pour les comparaisons multiples. Elle génère également des graphiques de survie et de risque pour une visualisation des résultats. Les options de symbolisation sont utilisées pour différencier l'apparence des courbes dans les graphiques.
Analyse des données

Type : CREATION_INTERNE


Les données (`time`, `censor`, `trt`) sont entièrement créées en interne au sein du script SAS via des blocs DATA et des instructions `datalines`. Il n'y a pas de dépendance à des fichiers externes ou des bibliothèques SAS préexistantes pour l'acquisition des données brutes, hormis les données générées par le script lui-même.

1 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA crée un dataset nommé `control`. Il utilise la déclaration `datalines` pour lire les valeurs des variables `time` et `censor`. Une variable `trt` est assignée la valeur 'control' pour identifier ce groupe comme le groupe non traité. La syntaxe `@code_sas_json/hsdua2304@gmail.com_SAS_Assignment_1.json` trouvée dans le code original à la ligne `input` a été retirée car elle est une erreur de syntaxe et ne correspond pas au mécanisme de lecture des `datalines`. La valeur 'controp' a été corrigée en 'control' pour assurer la cohérence et l'exécutabilité du code.
Copié !
1DATA control; /*create data set for untreated group*/
2INPUT time censor;
3trt='control'; /*Correction de 'controp' en 'control' pour cohérence avec le commentaire*/
4DATALINES;
520 1 21 1 23 1 24 1 24 1 26 1 26 1 27 1 28 1 30
6;
7 
2 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA crée un dataset nommé `rad` pour le groupe traité par radiation. Similaire au bloc précédent, il lit les données de `time` et `censor` via `datalines` et assigne la valeur 'rad' à la variable `trt`. La syntaxe `@code_sas_json/hsdua2304@gmail.com_SAS_Assignment_1.json` trouvée dans le code original à la ligne `input` a été retirée car elle est une erreur de syntaxe et ne correspond pas au mécanisme de lecture des `datalines`.
Copié !
1DATA rad; /*create data set for the radiated group*/
2INPUT time censor;
3trt='rad';
4DATALINES;
526 1 28 1 29 1 29 1 30 1 30 1 31 1 31 1 32 1 35 0
6;
7 
3 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA crée un dataset nommé `radbpa` pour le groupe traité par radiation et BPA. Il lit les données de `time` et `censor` via `datalines` et assigne la valeur 'radbpa' à la variable `trt`. La syntaxe `@code_sas_json/hsdua2304@gmail.com_SAS_Assignment_1.json` trouvée dans le code original à la ligne `input` a été retirée car elle est une erreur de syntaxe et ne correspond pas au mécanisme de lecture des `datalines`.
Copié !
1DATA radbpa; /*Create data set for the raduated + BPA group*/
2INPUT time censor;
3trt='radbpa';
4DATALINES;
531 1 32 1 34 1 35 1 36 1 38 1 38 1 39 1 42 0 42 0
6;
7 
4 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA combine les trois datasets (`control`, `rad`, `radbpa`) créés précédemment en un nouveau dataset unique nommé `prob7_7`. Il crée également deux variables binaires `grp1` (vaut 1 si `trt` est 'rad', 0 sinon) et `grp2` (vaut 1 si `trt` est 'radbpa', 0 sinon) pour faciliter les comparaisons. Les instructions `title` et `title3` définissent des titres pour les sorties subséquentes, notamment pour la procédure `PROC PRINT` et `PROC LIFETEST`.
Copié !
1DATA prob7_7; SET control rad radbpa; /*Combine all these three samples*/
2grp1=(trt='rad');
3grp2=(trt='radbpa');
4title 'Problem 7_7, page 240 --Boron neutron capture therapy';
5title3 'grp1=rad, grp2=radbpa';
6;
5 Bloc de code
PROC PRINT
Explication :
Cette procédure affiche le contenu du dernier dataset créé ou actif, qui est `prob7_7` dans ce contexte. Elle est utilisée pour une inspection rapide des données combinées et pour vérifier l'exactitude de la fusion des groupes.
Copié !
1PROC PRINT;
6 Bloc de code
PROC LIFETEST
Explication :
Cette procédure effectue une analyse de survie sur le dataset `prob7_7`. `plots=(s,h)` et `graphics` génèrent des graphiques des fonctions de survie (S, Kaplan-Meier par défaut) et des fonctions de risque cumulé (H). `time time*censor(0)` spécifie que `time` est la variable de temps et `censor` est la variable d'événement où 0 indique une observation censurée (l'événement n'est pas survenu). `strata trt/adjust=bon` demande une analyse stratifiée par la variable `trt` (groupes 'control', 'rad', 'radbpa') et applique la correction de Bonferroni pour les comparaisons multiples entre strates afin d'ajuster les p-valeurs. Les instructions `symbol1`, `symbol2`, `symbol3` personnalisent l'apparence des courbes dans les graphiques générés pour une meilleure distinction visuelle des groupes.
Copié !
1/*Compare three groups, plot the survival functions and hazard functions*/
2PROC LIFETEST DATA=prob7_7 plots=(s,h) graphics;
3time time*censor(0);
4strata trt/adjust=bon;
5symbol1 v=none color=black line=1;
6symbol2 v=none color=black line=2;
7symbol3 v=none color=black line=3;
8RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Code SAS pour le problème 7.7 du manuel 'Survival Analysis Techniques for Censored and Truncated Data'.