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é !
data control; /*create data set for untreated group*/
input time censor;
trt='control'; /*Correction de 'controp' en 'control' pour cohérence avec le commentaire*/
datalines;
20 1 21 1 23 1 24 1 24 1 26 1 26 1 27 1 28 1 30
;
1
DATA control; /*create data set for untreated group*/
2
INPUT time censor;
3
trt='control'; /*Correction de 'controp' en 'control' pour cohérence avec le commentaire*/
4
DATALINES;
5
20121123124124126126127128130
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é !
data rad; /*create data set for the radiated group*/
input time censor;
trt='rad';
datalines;
26 1 28 1 29 1 29 1 30 1 30 1 31 1 31 1 32 1 35 0
;
1
DATA rad; /*create data set for the radiated group*/
2
INPUT time censor;
3
trt='rad';
4
DATALINES;
5
26128129129130130131131132135 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é !
data radbpa; /*Create data set for the raduated + BPA group*/
input time censor;
trt='radbpa';
datalines;
31 1 32 1 34 1 35 1 36 1 38 1 38 1 39 1 42 0 42 0
;
1
DATA radbpa; /*Create data set for the raduated + BPA group*/
2
INPUT time censor;
3
trt='radbpa';
4
DATALINES;
5
31132134135136138138139142 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é !
data prob7_7; set control rad radbpa; /*Combine all these three samples*/
grp1=(trt='rad');
grp2=(trt='radbpa');
title 'Problem 7_7, page 240 --Boron neutron capture therapy';
title3 'grp1=rad, grp2=radbpa';
;
1
DATA prob7_7; SET control rad radbpa; /*Combine all these three samples*/
2
grp1=(trt='rad');
3
grp2=(trt='radbpa');
4
title 'Problem 7_7, page 240 --Boron neutron capture therapy';
5
title3 '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é !
proc print;
1
PROC 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é !
/*Compare three groups, plot the survival functions and hazard functions*/
proc lifetest data=prob7_7 plots=(s,h) graphics;
time time*censor(0);
strata trt/adjust=bon;
symbol1 v=none color=black line=1;
symbol2 v=none color=black line=2;
symbol3 v=none color=black line=3;
run;
1
/*Compare three groups, plot the survival functions and hazard functions*/
2
PROC LIFETESTDATA=prob7_7 plots=(s,h) graphics;
3
time time*censor(0);
4
strata trt/adjust=bon;
5
symbol1 v=none color=black line=1;
6
symbol2 v=none color=black line=2;
7
symbol3 v=none color=black line=3;
8
RUN;
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'.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.