Analyse de l'efficacité de médicaments contre la lèpre
En attente de validation
Le script commence par créer un jeu de données 'drugtest' contenant les résultats de tests bactériologiques avant et après traitement pour trois médicaments. Ensuite, un modèle linéaire général (PROC GLM) est appliqué pour modéliser le score post-traitement en fonction du médicament et du score pré-traitement. Les moyennes des moindres carrés (LSMeans) sont calculées pour chaque médicament et sauvegardées dans une table. Cette table est ensuite enrichie avec des URLs spécifiques à chaque médicament. Un premier graphique à barres (PROC SGPLOT) est généré pour comparer les LS-Means des médicaments ; chaque barre est un hyperlien. En cliquant sur une barre, l'utilisateur est redirigé vers une page HTML contenant un nuage de points (généré par un second PROC SGPLOT) qui détaille la relation entre les scores pré et post-traitement pour le médicament sélectionné. L'ensemble du processus utilise ODS (Output Delivery System) pour créer une série de rapports HTML liés.
Analyse des données
Type : CREATION_INTERNE
Les données sont créées directement dans le script via une étape DATA avec une instruction DATALINES. L'option '@@' est utilisée dans l'instruction INPUT pour lire plusieurs observations à partir d'une seule ligne de données.
1 Bloc de code
DATA STEP Data
Explication : Ce bloc DATA STEP crée la table 'drugtest'. Il lit les données intégrées via l'instruction DATALINES. L'indicateur '@@' à la fin de l'instruction INPUT permet de lire plusieurs observations (triplets Drug, PreTreatment, PostTreatment) qui se trouvent sur la même ligne physique dans les données.
Copié !
title 'Treatment of Leprosy';
data drugtest;
input Drug $ PreTreatment PostTreatment @@;
datalines;
a 11 6 a 8 0 a 5 2 a 14 8 a 19 11
a 6 4 a 10 13 a 6 1 a 11 8 a 3 0
d 6 0 d 6 2 d 7 3 d 8 1 d 18 18
d 8 4 d 19 14 d 8 9 d 5 1 d 15 9
f 16 13 f 13 10 f 11 18 f 9 5 f 21 23
f 16 12 f 12 5 f 12 16 f 7 1 f 12 20
;
1
title 'Treatment of Leprosy';
2
3
DATA drugtest;
4
INPUT Drug $ PreTreatment PostTreatment @@;
5
DATALINES;
6
a 116 a 8 0 a 52 a 148 a 1911
7
a 64 a 1013 a 61 a 118 a 3 0
8
d 6 0 d 62 d 73 d 81 d 1818
9
d 84 d 1914 d 89 d 51 d 159
10
f 1613 f 1310 f 1118 f 95 f 2123
11
f 1612 f 125 f 1216 f 71 f 1220
12
;
13
2 Bloc de code
PROC GLM
Explication : Cette procédure applique un Modèle Linéaire Général (GLM). Elle modélise la variable 'PostTreatment' en fonction de la variable de classification 'drug', de la variable continue 'PreTreatment' et de leur interaction. L'instruction 'lsmeans' calcule les moyennes des moindres carrés pour chaque 'drug', et 'ods output' sauvegarde ces résultats dans une nouvelle table SAS nommée 'lsmeans'.
Copié !
proc glm data=drugtest;
class drug;
model PostTreatment = drug | PreTreatment / solution;
lsmeans drug / stderr pdiff;
ods output LSMeans=lsmeans;
quit;
1
PROC GLMDATA=drugtest;
2
class drug;
3
model PostTreatment = drug | PreTreatment / solution;
4
lsmeans drug / stderr pdiff;
5
ods OUTPUT LSMeans=lsmeans;
6
QUIT;
3 Bloc de code
DATA STEP Data
Explication : Ce bloc modifie la table 'lsmeans' générée précédemment. Il ajoute une nouvelle colonne, 'DrugClick', qui contient le nom d'un fichier HTML. Cette colonne servira à créer des liens hypertextes dans le graphique qui suit.
Copié !
data lsmeans;
set lsmeans;
if drug='a' then DrugClick='drug1.htm';
if drug='d' then DrugClick='drug2.htm';
if drug='f' then DrugClick='drug3.htm';
run;
1
DATA lsmeans;
2
SET lsmeans;
3
IF drug='a'THEN DrugClick='drug1.htm';
4
IF drug='d'THEN DrugClick='drug2.htm';
5
IF drug='f'THEN DrugClick='drug3.htm';
6
RUN;
4 Bloc de code
PROC SGPLOT
Explication : Ce bloc génère un graphique à barres horizontales. Il utilise les données de la table 'lsmeans' pour représenter la moyenne des moindres carrés ('lsmean') pour chaque médicament ('drug'). L'option 'imagemap=yes' et le paramètre 'url=drugclick' sur l'instruction 'hbar' rendent chaque barre cliquable, pointant vers le fichier HTML défini dans la variable 'DrugClick'.
Copié !
ods graphics / imagemap=yes height=2in width=6.4in;
proc sgplot data=lsmeans;
title 'Chart of LS-Means for Drug Type';
hbar drug / response=lsmean stat=mean
url=drugclick;
footnote j=l 'Click on the bar to see a plot of PostTreatment '
'versus PreTreatment for the corresponding drug.';
format lsmean 6.3;
run;
ods graphics off;
footnote;
footnote j=l 'Click on the bar to see a plot of PostTreatment '
8
'versus PreTreatment for the corresponding drug.';
9
FORMAT lsmean 6.3;
10
RUN;
11
12
ods graphics off;
13
footnote;
5 Bloc de code
PROC SGPLOT
Explication : Cette dernière étape génère les rapports détaillés. La procédure SGPLOT crée un nuage de points comparant 'PostTreatment' à 'PreTreatment'. L'instruction 'by drug' génère un graphique distinct pour chaque médicament. L'instruction 'ods html newfile=page' garantit que chaque graphique est écrit dans un fichier HTML séparé (drug1.htm, drug2.htm, etc.), qui sont les cibles des liens du graphique à barres.
Copié !
ods html body='drug1.htm' newfile=page style=HTMLBlue;
proc sgplot data=drugtest;
title 'Plot of PostTreatment versus PreTreatment';
scatter y=PostTreatment x=PreTreatment;
by drug notsorted;
run;
ods html close;
1
ods html body='drug1.htm' newfile=page style=HTMLBlue;
2
3
PROC SGPLOTDATA=drugtest;
4
title 'Plot of PostTreatment versus PreTreatment';
5
scatter y=PostTreatment x=PreTreatment;
6
BY drug notsorted;
7
RUN;
8
9
ods html close;
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 : S A S S A M P L E L I B R A R Y
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.