Maîtriser les Statistiques Descriptives sous SAS : PROC MEANS, SUMMARY et TABULATE
Simon 13 Aufrufe
Niveau de difficulté
Débutant
Veröffentlicht am :
Expertenrat
Stéphanie
Un conseil pour la lisibilité de votre code : arrêtez d'utiliser PROC MEANS avec l'option NOPRINT ! La PROC SUMMARY est techniquement identique mais conçue spécifiquement pour créer des tables de sortie sans polluer la fenêtre de résultats. C'est une distinction sémantique qui rend votre programme immédiatement plus clair pour ceux qui le reliront.
La procédure PROC MEANS est souvent le premier réflexe de l'analyste. Sa fonction principale est de calculer des statistiques descriptives pour des variables, soit sur l'ensemble des observations, soit par groupes.
Ses capacités incluent :
L'estimation des quantiles (y compris la médiane).
Le calcul des limites de confiance pour la moyenne.
L'identification des valeurs extrêmes.
La réalisation de tests de Student (t-test).
Particularité principale : Par défaut, PROC MEANS affiche ses résultats directement dans la fenêtre de sortie (Output window).
PROC SUMMARY : La Puissance Discrète
Techniquement, la PROC SUMMARY est identique à la PROC MEANS en termes de calculs statistiques. Elle offre les mêmes options de traitement.
La différence clé : Contrairement à MEANS qui privilégie l'affichage, SUMMARY est conçue pour écrire ses résultats dans une table de sortie (dataset). Elle n'affiche rien par défaut dans la fenêtre de résultats, ce qui la rend idéale pour préparer des données intermédiaires sans encombrer les rapports.
PROC TABULATE : La Mise en Forme Avancée
La PROC TABULATE reprend les concepts de MEANS et SUMMARY mais va beaucoup plus loin en matière de présentation. Elle est spécialisée dans l'affichage de statistiques descriptives sous forme de tableaux hiérarchiques.
Ses atouts majeurs :
Flexibilité : Elle permet de classer les valeurs des variables et d'établir des relations hiérarchiques complexes entre elles.
Double Sortie : Elle peut envoyer les résultats vers la fenêtre de sortie et/ou vers une table de données.
Formatage : Elle offre un contrôle total sur les étiquettes (labels) et le formatage des statistiques générées.
Le code ci-dessous illustre la différence de sortie. PROC MEANS affiche le résultat, tandis que PROC SUMMARY crée une table nommée WORK.summaryout.
1
/* Affichage direct des statistiques */
proc means data=sashelp.cars;
var msrp invoice;
run;
/* Création d'une table de sortie */
proc summary data=sashelp.cars;
var msrp invoice;
OUTPUT out=WORK.summaryout (LABEL="Table de sortie PROC SUMMARY pour SASHELP.CARS");
run;
1
/* Affichage direct des statistiques */
2
PROC MEANSDATA=sashelp.cars;
3
var msrp invoice;
4
RUN;
5
6
/* Création d'une table de sortie */
7
PROC SUMMARYDATA=sashelp.cars;
8
var msrp invoice;
9
OUTPUT out=WORK.summaryout (LABEL="Table de sortie PROC SUMMARY pour SASHELP.CARS");
10
RUN;
Utilisation de TABULATE pour un tableau structuré
Ici, nous créons un tableau croisant le type de véhicule (en ligne) avec des statistiques de poids et d'empattement (en colonne).
PROC TABULATE
DATA=SASHELP.CARS
OUT=WORK.tabulateout (LABEL="Table de sortie PROC TABULATE pour SASHELP.CARS")
FORMAT=comma10.2;
VAR Weight Wheelbase;
CLASS Type / ORDER=freq MISSING;
TABLE /* Dimension Ligne */
Type,
/* Dimension Colonne */
N
Weight * Range
Wheelbase * Mean;
run; quit;
1
PROC TABULATE
2
DATA=SASHELP.CARS
3
OUT=WORK.tabulateout (LABEL="Table de sortie PROC TABULATE pour SASHELP.CARS")
4
FORMAT=comma10.2;
5
VAR Weight Wheelbase;
6
CLASS Type / ORDER=freq MISSING;
7
8
TABLE/* Dimension Ligne */
9
Type,
10
/* Dimension Colonne */
11
N
12
Weight * Range
13
Wheelbase * Mean;
14
RUN; QUIT;
Aller plus loin : Coloration conditionnelle avec TABULATE
L'un des grands avantages de PROC TABULATE est sa capacité à utiliser des formats personnalisés pour mettre en évidence des données (ex: code couleur "feu tricolore").
/* Définition du format de couleur */
PROC FORMAT;
VALUE watchit
0 - 20000 = 'Green'
20001 - 30000 = 'Orange'
30001 - 50000 = 'Blue'
50001 - 60000 = 'Purple'
60001 - high = 'Red';
run;
/* Application du format comme couleur de fond (foreground) */
PROC TABULATE data=sashelp.cars S=[foreground=watchit.]
FORMAT=dollar10.2
OUT=WORK.tabulatecolor (LABEL="Table de sortie colorée pour SASHELP.CARS");
CLASS type cylinders / MISSING;
VAR invoice;
TABLE type ALL,
Invoice * mean;
run;
1
/* Définition du format de couleur */
2
PROC FORMAT;
3
VALUE watchit
4
0 - 20000 = 'Green'
5
20001 - 30000 = 'Orange'
6
30001 - 50000 = 'Blue'
7
50001 - 60000 = 'Purple'
8
60001 - high = 'Red';
9
RUN;
10
11
/* Application du format comme couleur de fond (foreground) */
OUT=WORK.tabulatecolor (LABEL="Table de sortie colorée pour SASHELP.CARS");
15
CLASS type cylinders / MISSING;
16
VAR invoice;
17
18
TABLE type ALL,
19
Invoice * mean;
20
RUN;
Synthèse Comparative
Pour vous aider à choisir la bonne procédure selon vos besoins, voici un tableau récapitulatif des principales différences fonctionnelles et de leur disponibilité dans les interfaces graphiques :
Bien que PROC MEANS, SUMMARY et TABULATE soient similaires dans les statistiques descriptives qu'elles génèrent, elles se distinguent par la nature de leurs sorties et leur flexibilité.
Si PROC MEANS est idéale pour une vérification rapide et PROC SUMMARY pour la création de tables de données, PROC TABULATE offre le plus grand contrôle. Sa polyvalence en fait souvent le meilleur choix pour les scénarios nécessitant une présentation soignée et hiérarchisée des données.
Wichtiger Haftungsausschluss
Die auf WeAreCAS.eu bereitgestellten Codes und Beispiele dienen Lehrzwecken. Es ist zwingend erforderlich, sie nicht blind in Ihre Produktionsumgebungen zu kopieren. Der beste Ansatz besteht darin, die Logik zu verstehen, bevor sie angewendet wird. Wir empfehlen dringend, diese Skripte in einer Testumgebung (Sandbox/Dev) zu testen. WeAreCAS übernimmt keine Verantwortung für mögliche Auswirkungen oder Datenverluste auf Ihren Systemen.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.