Publié le :
Statistique CREATION_INTERNE

Analyse GEE de données ordinales sur la douleur à l'épaule

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le script commence par créer un jeu de données SAS© à partir de données brutes incluses directement dans le code. Ces données, initialement au format large, sont restructurées en format long pour faciliter l'analyse des mesures répétées dans le temps. Par la suite, deux procédures statistiques, PROC SURVEYLOGISTIC et PROC GENMOD, sont utilisées pour ajuster des modèles logit cumulatifs. Cette approche permet de modéliser la variable de réponse ordinale (le niveau de douleur) tout en tenant compte de la corrélation entre les observations d'un même sujet à différents moments.
Analyse des données

Type : CREATION_INTERNE


Les données sont entièrement générées au sein du script. Une étape DATA lit les observations via une instruction 'datalines' et les transforme d'un format large (une ligne par sujet) à un format long (une ligne par sujet par point de mesure).

1 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA STEP crée la table 'Shoulder_tip_pain'. Il lit les données intégrées via 'datalines', assigne un identifiant unique 'subject_id' à chaque patient, puis utilise une boucle pour transformer les 6 mesures de douleur (t1-t6) d'un format large à un format long, avec une ligne par point temporel ('time').
Copié !
1DATA Shoulder_tip_pain;
2 INPUT trt $ gender $ age t1-t6;
3 subject_id = _n_;
4 array tt t1-t6;
5 DO over tt;
6 y = tt;
7 time = _i_;
8 OUTPUT;
9 END;
10 DATALINES;
11y f 64 1 1 1 1 1 1
12y m 41 3 2 1 1 1 1
13y f 77 3 2 2 2 1 1
14y f 54 1 1 1 1 1 1
15y f 66 1 1 1 1 1 1
16y m 56 1 2 1 1 1 1
17y m 81 1 3 2 1 1 1
18y f 24 2 2 1 1 1 1
19y f 56 1 1 1 1 1 1
20y f 29 3 1 1 1 1 1
21y m 65 1 1 1 1 1 1
22y f 68 2 1 1 1 1 2
23y m 77 1 2 2 2 2 2
24y m 35 3 1 1 1 3 3
25y m 66 2 1 1 1 1 1
26y f 70 1 1 1 1 1 1
27y m 79 1 1 1 1 1 1
28y f 65 2 1 1 1 1 1
29y f 61 4 4 2 4 2 2
30y f 67 4 4 4 2 1 1
31y f 32 1 1 1 2 1 1
32y f 33 1 1 1 2 1 2
33n f 20 5 2 3 5 5 4
34n f 50 1 5 3 4 5 3
35n f 40 4 4 4 4 1 1
36n m 54 4 4 4 4 4 3
37n m 34 2 3 4 3 3 2
38n f 34 3 4 3 3 3 2
39n m 56 3 3 4 4 4 3
40n f 82 1 1 1 1 1 1
41n m 56 1 1 1 1 1 1
42n m 52 1 5 5 5 4 3
43n f 65 1 3 2 2 1 1
44n f 53 2 2 3 4 2 2
45n f 40 2 2 1 3 3 2
46n f 58 1 1 1 1 1 1
47n m 63 1 1 1 1 1 1
48n f 41 5 5 5 4 3 3
49n m 72 3 3 3 3 1 1
50n f 60 5 4 4 4 2 2
51n m 61 1 3 3 3 2 1
52;
2 Bloc de code
PROC FORMAT
Explication :
Cette procédure définit deux formats personnalisés. Le format '$abc' est appliqué à la variable 'trt' pour libeller les groupes de traitement ('Active', 'Placebo'), et le format '$xyz' est appliqué à 'gender' pour libeller le sexe ('Female', 'Male').
Copié !
1PROC FORMAT;
2 value $abc 'y' = 'Active'
3 'n' = 'Placebo';
4 value $xyz 'f' = 'Female'
5 'm' = 'Male';
6RUN;
3 Bloc de code
PROC SURVEYLOGISTIC
Explication :
Ce bloc utilise PROC SURVEYLOGISTIC pour ajuster un modèle GEE avec un lien logit cumulatif. L'instruction 'cluster subject_id' spécifie que les observations sont corrélées au sein de chaque sujet. Le modèle évalue l'effet du traitement, du sexe, de l'âge et du temps sur la réponse ordinale 'y'.
Copié !
1ods html;
2PROC SURVEYLOGISTIC DATA=Shoulder_tip_pain;
3 class trt gender;
4 model y = trt gender age time / link=clogit ;
5 cluster subject_id;
6 FORMAT trt $abc. gender $xyz. ;
7 title1 '*** Results from fitting a GEE Cumulative Logit Model ***';
8 title2 '*** to the Shoulder Tip Pain Data in Lumley (1996) ***';
9RUN;
10ods html close;
4 Bloc de code
PROC GENMOD
Explication :
Ce bloc utilise PROC GENMOD pour réaliser une analyse GEE alternative ou de confirmation. Il spécifie une distribution multinomiale avec un lien logit cumulatif. L'instruction 'repeated' déclare la nature des mesures répétées par sujet, avec une structure de corrélation de travail indépendante ('type=ind').
Copié !
1PROC GENMOD DATA=Shoulder_tip_pain;
2 class subject_id trt gender;
3 model y = trt gender age time / dist=mult link=clogit type3;
4 repeated subject=subject_id / type=ind;
5 FORMAT trt $abc. gender $xyz. ;
6 title3 '*** Results using PROC GENMOD ***';
7RUN;
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.