Les données sont définies directement dans le script via l'instruction CARDS dans l'étape DATA 'a'.
1 Bloc de code
DATA STEP Data
Explication : Initialisation des options graphiques globales et création du jeu de données source 'a' contenant les variables TEST (catégorie) et BREAKS (valeur).
Explication : Tri des données par la variable de groupe 'TEST' pour préparer l'agrégation.
Copié !
/* Sort data by variable TEST */
proc sort; by TEST; run;
1
/* Sort
2
data by variable TEST */
3
PROC SORT;
4
BY TEST;
5
6
RUN;
7
3 Bloc de code
PROC MEANS Data
Explication : Calcul des statistiques descriptives (moyenne, écart-type, min, max) regroupées par 'TEST'. Les résultats sont stockés dans la table de sortie 'b'.
Copié !
/**************************************************/
/* Create an output data set, B using PROC MEANS */
/* that contain new variables, MEAN, STD, STDERR, */
/* MIN, and MAX. */
/**************************************************/
proc means mean std stderr min max data=a;
by TEST;
output out=b mean=mean min=min max=max;
run;
Explication : Création d'un jeu de données spécial 'Annotate'. Il définit des commandes graphiques (move, draw) pour dessiner des lignes bleues du min au max, et des marqueurs rouges pour la moyenne, le min et le max. Utilise le système de coordonnées de données (xsys='2', ysys='2').
Copié !
/****************************************************************/
/* Create an annotate data set, ANNO to draw the bars at +/- 1, */
/* 2, or 3 Standard Deviation or Standard Error of the mean. */
/****************************************************************/
data anno;
retain xsys ysys '2' when 'a';
length color function $8 ;
set b;
/* Draw the horizontal line from min to max */
function='move'; xsys='2'; ysys='2'; yc=TEST; x=min; color='blue'; output;
function='draw'; x=max; color='blue'; size=2; output;
/* Draw the MEAN horizontal line making the SIZE bigger */
function='move'; xsys='2';ysys='2';yc=TEST;x=mean; color='red'; output;
function='draw'; x=mean; ysys='9'; y=+2; size=4; output;
function='draw'; x=mean; y=-4; size=4; output;
/* Draw the line for the MIN value */
function='move';xsys='2';ysys='2';yc=TEST;x=min;color='red';output;
function='draw';x=min;ysys='9';y=+2;size=2;output;
function='draw';x=min;y=-4;size=2;output;
/* Draw the line for the MAX value */
function='move';xsys='2';ysys='2';yc=TEST;x=max;color='red';output;
function='draw';x=max;ysys='9';y=+2;size=2;output;
function='draw';x=max;y=-4;size=2;output;
run;
Explication : Génération du graphique final. La procédure GPLOT utilise le jeu de données 'anno' pour superposer les dessins personnalisés aux axes définis. L'axe horizontal est fixé de 0 à 100.
Copié !
axis1 order=(0 to 100 by 10);
symbol1 i=none v=none c=black;
proc gplot data=b ;
plot test*mean / anno=anno haxis=axis1 href=30 60 90; /* The HREF= option draws reference lines */
run;
quit;
1
axis1 order=(0 to 100BY10);
2
symbol1 i=none v=none c=black;
3
4
PROC GPLOTDATA=b ;
5
plot test*mean / anno=anno haxis=axis1 href=306090; /* The HREF= option draws reference lines */
6
RUN;
7
QUIT;
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.
« Ce script est un cas d'école sur l'utilisation de l'Annotate Facility, une méthode de programmation graphique héritée de SAS/GRAPH qui offre une liberté de personnalisation quasi illimitée. Bien que les procédures modernes comme SGPLOT intègrent désormais nativement les barres d'erreur, cette approche manuelle via une table d'annotations (anno) permet de comprendre comment SAS construit un graphique couche par couche. En définissant des fonctions comme move et draw, vous ne vous contentez pas d'afficher des données : vous pilotez précisément le tracé de chaque segment pour représenter l'intervalle Min-Max et la position de la moyenne, transformant un simple nuage de points en un outil de diagnostic statistique rigoureux. »
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.