Publié le :
Reporting SASHELP

Graphe de terminologie - Pression Systolique

Ce code est également disponible en : Deutsch English Español
Le script commence par initialiser les options ODS pour la sortie graphique (chemin de sortie, résolution DPI). Il définit ensuite un modèle de graphique réutilisable (`STATGRAPH Terminology`) via `PROC TEMPLATE`. Ce modèle comprend un titre, une note de bas de page, une disposition en treillis à deux lignes, un graphique superposé combinant un histogramme et des courbes de densité (normale et noyau) avec une légende, ainsi qu'un diagramme en boîte horizontal. Enfin, `PROC SGRENDER` est utilisé pour appliquer ce modèle aux données `sashelp.heart`, filtrées pour les individus dont l'âge de début est supérieur à 50 ans, et pour visualiser la variable 'Systolic' comme variable dynamique.
Analyse des données

Type : SASHELP


Le script utilise le jeu de données interne SASHELP.HEART. Un filtre est appliqué pour sélectionner les enregistrements où 'ageatstart' est supérieur à 50.

1 Bloc de code
Macros / ODS
Explication :
Initialise les options ODS (Output Delivery System) pour la génération de graphiques. Définit le chemin de sortie (`gpath`) et la résolution de l'image (`dpi`). La destination HTML par défaut est fermée pour éviter des sorties indésirables et assurer que seule la sortie graphique est produite.
Copié !
1%let gpath='.'; /*--Put your Folder Name here--*/
2%let dpi=300;
3ods listing style=listing image_dpi=&dpi gpath=&gpath;
4ods html close;
2 Bloc de code
PROC TEMPLATE (STATGRAPH)
Explication :
Définit un modèle de graphique nommé 'Terminology' en utilisant le langage SGPLOT. Ce modèle crée un graphique complexe composé d'un titre, d'une note de bas de page, d'un histogramme, de courbes de densité (normale et noyau) avec une légende discrète, et d'un diagramme en boîte. Il est conçu pour accepter une variable dynamique `_var` qui sera spécifiée lors de l'appel du modèle.
Copié !
1PROC TEMPLATE;
2 define statgraph Terminology;
3 dynamic _var;
4 begingraph;
5 entrytitle 'Distribution of Systolic Blood Pressure';
6 entryfootnote halign=left 'For Age at Start > 50' / textattrs=(size=7);
7 
8 layout lattice / rowweights=(0.8 0.2) columns=1
9 columndatarange=union;
10 columnaxes;
11 columnaxis / display=(ticks tickvalues line);
12 endcolumnaxes;
13 
14 layout overlay;
15 histogram _var / binaxis=false;
16 densityplot _var / name='n' legendlabel='Normal';
17 densityplot _var / kernel() lineattrs=graphfit2(pattern=solid)
18 name='k' legendlabel='Kernel';
19 discretelegend 'n' 'k' / location=inside halign=right valign=top across=1
20 itemsize=(linelength=20);
21 endlayout;
22 
23 layout overlay;
24 boxplot y=_var / orient=horizontal boxwidth=0.8;
25 endlayout;
26 
27 endlayout;
28 
29 endgraph;
30 END;
31RUN;
3 Bloc de code
PROC SGRENDER
Explication :
Configure les options graphiques ODS pour la sortie (pas de bordure, largeur de 4 pouces, nom de l'image). Appelle le modèle STATGRAPH 'Terminology' défini précédemment, en lui fournissant les données `sashelp.heart` (filtrées pour 'ageatstart > 50') et en assignant la variable 'Systolic' à la variable dynamique `_var` du modèle. Cela génère et exporte le graphique final.
Copié !
1ods graphics / reset noborder width=4in imagename='6_3_Terminology';
2PROC SGRENDER DATA=sashelp.heart(where=(ageatstart > 50)) template=Terminology;
3dynamic _var='Systolic';
4RUN;
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.