Le véritable point fort de ce script réside dans l'utilisation intelligente des instructions INSET et INSETGROUP. Dans une analyse de performance ou de contrôle de processus, le graphique seul ne suffit pas toujours à la prise de décision rapide.
En insérant un bloc de statistiques globales (moyenne, écart-type) via INSET et des statistiques locales par groupe (min/max journaliers) via INSETGROUP, vous transformez une simple figure en un véritable outil de diagnostic hybride. L'astuce technique à retenir est le positionnement stratégique (pos = tm) : il permet de placer l'encart en haut au milieu ("Top Middle"), évitant ainsi qu'il ne recouvre les moustaches du graphique. Cette approche garantit une lisibilité parfaite de la dispersion des données tout en fournissant les métriques exactes nécessaires à un tableau de bord professionnel.
Le script commence par définir un jeu de données nommé 'Turbine' qui contient des relevés de puissance ('KWatts') pour différentes journées ('Day'). Les données sont fournies directement dans le script via un bloc DATALINES. Ensuite, il utilise la procédure PROC BOXPLOT pour créer un diagramme en boîtes de la variable 'KWatts' par la variable 'Day'. Des encarts sont ajoutés pour afficher des statistiques descriptives complètes, notamment le minimum, la moyenne, le maximum et l'écart-type pour l'ensemble des données, ainsi que les valeurs extrêmes (minimum et maximum) pour chaque jour.
Analyse des données
Type : CREATION_INTERNE
Le jeu de données 'Turbine' est créé directement dans le script à l'aide d'un bloc DATA STEP et d'un bloc DATALINES. Il contient des observations avec une date ('Day') et une mesure de puissance moyenne ('KWatts').
1 Bloc de code
DATA STEP Data
Explication : Ce bloc DATA STEP crée le jeu de données temporaire 'Turbine'. Il définit le format d'entrée (informat) et d'affichage (format) pour la variable 'Day' en tant que date. La variable 'KWatts' est étiquetée 'Average Power Output'. Les données sont lues ligne par ligne à partir du bloc DATALINES : une date, puis dix valeurs de puissance ('KWatts') pour cette date. La variable d'itération 'i' est supprimée car elle n'est pas nécessaire dans le jeu de données final.
Explication : Ce bloc utilise la procédure PROC BOXPLOT pour générer un diagramme en boîtes. L'instruction 'ods graphics off;' désactive la sortie graphique ODS par défaut (souvent nécessaire pour certaines options SYMBOL). L'instruction 'symbol height=3 pct;' définit la hauteur des symboles à 3% de la hauteur de la fenêtre graphique. Un titre est attribué au graphique : 'Box Plot for Power Output'. La clause 'plot KWatts*Day;' spécifie de créer des boîtes pour 'KWatts' regroupées par 'Day'. Deux encarts ('inset' et 'insetgroup') sont ajoutés : le premier affiche les statistiques globales (minimum, moyenne, maximum, écart-type) avec l'en-tête 'Overall Statistics' en position 'tm' (top-middle) ; le second affiche les extrêmes (minimum et maximum) pour chaque groupe ('Day') avec l'en-tête 'Extremes by Day'.
Copié !
ods graphics off;
symbol height=3 pct;
title 'Box Plot for Power Output';
proc boxplot data=Turbine;
plot KWatts*Day;
inset min mean max stddev /
header = 'Overall Statistics'
pos = tm;
insetgroup min max /
header = 'Extremes by Day';
run;
1
ods graphics off;
2
symbol height=3 pct;
3
title 'Box Plot for Power Output';
4
PROC BOXPLOTDATA=Turbine;
5
plot KWatts*Day;
6
inset min mean max stddev /
7
header = 'Overall Statistics'
8
pos = tm;
9
insetgroup min max /
10
header = 'Extremes by Day';
11
RUN;
L'Astuce Pro
Pour optimiser la lisibilite de vos diagrammes sous PROC BOXPLOT, utilisez l instruction INSETGROUP qui permet d afficher des statistiques specifiques a chaque boite directement sur l axe horizontal. Le positionnement POS=TM (Top Middle) est ideal pour l encart global afin d eviter toute superposition avec les moustaches du graphique. Notez que l option ODS GRAPHICS OFF declenche le moteur graphique traditionnel, ce qui necessite l utilisation de l instruction SYMBOL pour controler l apparence des points et des lignes, offrant ainsi une compatibilite maximale avec les anciens formats de fichiers et les terminaux de texte.
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.