Publié le :
Reporting SASHELP

Visualisation de données de santé avec ODS Graphics

Ce code est également disponible en : Deutsch English Español
Le script commence par configurer l'environnement ODS pour la génération de sorties graphiques en format LISTING avec une haute résolution (300 dpi) et un chemin de sortie spécifié. Il produit ensuite un premier graphique (Figure 2.7.1) qui est un nuage de points en panneaux. Ce graphique représente la relation entre le taux de cholestérol et la tension systolique, segmenté par sexe et statut pondéral. Une courbe de régression polynomiale de second degré est ajoutée à chaque panneau pour montrer la tendance. Le second graphique (Figure 2.7.2) est un histogramme en panneaux, affichant la distribution du cholestérol, également segmenté par sexe et statut pondéral. Une courbe d'estimation de densité est superposée à l'histogramme pour illustrer la forme de la distribution. Des filtres sont appliqués aux données pour inclure uniquement les individus âgés de plus de 45 ans et exclure ceux dont le statut pondéral est 'Underweight'.
Analyse des données

Type : SASHELP


Les données utilisées proviennent de la table standard SASHELP.HEART, qui est une source de données d'exemple fournie avec SAS. Des clauses WHERE sont appliquées pour filtrer ces données, ne retenant que les enregistrements où 'ageatstart' est supérieur à 45 et 'weight_status' n'est pas 'Underweight'.

1 Bloc de code
ODS Graphics / PROC SGPANEL
Explication :
Ce bloc initialise l'environnement ODS en définissant des macros pour le chemin de sortie (`gpath`) et la résolution des images (`dpi`). Il ferme toute sortie HTML précédente et ouvre une sortie LISTING configurée pour les graphiques. Ensuite, il configure les options ODS GRAPHICS pour la génération du premier graphique. La procédure PROC SGPANEL est utilisée pour créer un nuage de points en panneaux. Les données 'sashelp.heart' sont filtrées. Les panneaux sont définis par 'sex' et 'weight_status'. Un nuage de points ('scatter') montre la relation cholestérol-systolique, et une ligne de régression polynomiale de degré 2 ('reg') est ajoutée. Des attributs de style sont appliqués aux axes et en-têtes de panneau.
Copié !
1%let gpath='.'; /*--Put your Folder Name here--*/
2%let dpi=300;
3ods html close;
4ods listing gpath=&gpath image_dpi=&dpi;
5 
6/*--Fig 2.7.1 Panel Scatter--*/
7ods graphics / reset attrpriority=color noborder width=4in height=3in imagename='2_7_1_Data_Panel_Scatter';
8title 'Cholesterol by Systolic';
9PROC SGPANEL DATA=sashelp.heart(where=(ageatstart > 45 and weight_status ne 'Underweight')) noautolegend;
10panelby sex weight_status / layout=panel novarname headerattrs=(size=7);
11 scatter x=cholesterol y=systolic / markerattrs=graphdata1(symbol=circlefilled) transparency=0.7;
12 reg x=cholesterol y=systolic / degree=2 nomarkers lineattrs=graphfit;
13 rowaxis valueattrs=(size=7);
14 colaxis valueattrs=(size=7);
15RUN;
16title;
2 Bloc de code
ODS Graphics / PROC SGPANEL
Explication :
Ce bloc configure les options ODS GRAPHICS pour le deuxième graphique, qui est un histogramme en panneaux. La procédure PROC SGPANEL est de nouveau utilisée avec les mêmes données filtrées que le graphique précédent. Elle affiche la distribution de la variable 'cholesterol' à l'aide d'un histogramme ('histogram') et superpose une courbe d'estimation de densité ('density') pour chaque panneau. Les panneaux sont également segmentés par 'sex' et 'weight_status'. Des ajustements de taille de police sont faits pour les valeurs et les étiquettes des axes.
Copié !
1/*--Fig 2.7.2 Panel Histogram--*/
2ods graphics / reset attrpriority=color noborder width=4in height=3in imagename='2_7_1_Data_Panel_Hist';
3title 'Distribution of Cholesterol';
4PROC SGPANEL DATA=sashelp.heart(where=(ageatstart > 45 and weight_status ne 'Underweight')) noautolegend;
5panelby sex weight_status / layout=panel novarname headerattrs=(size=7);
6 histogram cholesterol;
7 density cholesterol;
8 rowaxis valueattrs=(size=7) labelattrs=(size=8);
9 colaxis valueattrs=(size=7) labelattrs=(size=8);
10RUN;
11title;
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.