SAS9

Maîtriser les Statistiques Descriptives sous SAS : PROC MEANS, SUMMARY et TABULATE

Simon 13 vues
Niveau de difficulté
Débutant
Publié le :
Stéphanie

Le conseil de l'expert

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.

Dans l'univers de l'analyse de données avec SAS©, la production de statistiques descriptives est une étape fondamentale. Trois procédures se distinguent particulièrement pour ces tâches : PROC MEANS, PROC SUMMARY et PROC TABULATE. Bien qu'elles partagent un socle commun, chacune possède des spécificités et des cas d'usage précis.

Cet article explore leurs différences, leurs fonctionnements respectifs et comment les utiliser efficacement, que ce soit via le code ou les interfaces graphiques comme SAS© Enterprise Guide et SAS© Studio.

Maîtriser les Statistiques Descriptives sous SAS : PROC MEANS, SUMMARY et TABULATE -

PROC MEANS : L'Exploration Directe

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.

Note sur SAS© Viya : Sur l'environnement SAS© Viya, ces trois procédures utilisent des actions CAS (Cloud Analytic Services) lorsqu'elles traitent des tables CAS, garantissant ainsi une performance optimale sur les gros volumes de données.

Exemples Pratiques (Code)

Voici des exemples concrets utilisant le jeu de données fictif sashelp.cars, inclus dans toutes les installations SAS©.

Utilisation de MEANS et SUMMARY

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
 
1/* Affichage direct des statistiques */
2PROC MEANS DATA=sashelp.cars;
3 var msrp invoice;
4RUN;
5 
6/* Création d'une table de sortie */
7PROC SUMMARY DATA=sashelp.cars;
8 var msrp invoice;
9 OUTPUT out=WORK.summaryout (LABEL="Table de sortie PROC SUMMARY pour SASHELP.CARS");
10RUN;

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).

1PROC 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;
14RUN; 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").

1/* Définition du format de couleur */
2PROC FORMAT;
3 VALUE watchit
4 0 - 20000 = 'Green'
5 20001 - 30000 = 'Orange'
6 30001 - 50000 = 'Blue'
7 50001 - 60000 = 'Purple'
8 60001 - high = 'Red';
9RUN;
10 
11/* Application du format comme couleur de fond (foreground) */
12PROC TABULATE DATA=sashelp.cars S=[foreground=watchit.]
13 FORMAT=dollar10.2
14 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;
20RUN;

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 :

CaractéristiquePROC MEANSPROC SUMMARYPROC TABULATE
Objectif principalExploration rapide et statistiques standardsCalcul de statistiques pour stockage (ETL)Rapports de présentation et tableaux complexes
Sortie par défautFenêtre de résultats (Output)Table de données SAS© (Dataset)Fenêtre de résultats (Output)
Flexibilité de mise en pageStandard (Liste verticale)N/A (Structure de base de données)Élevée (Tableaux croisés et hiérarchiques)
Support SAS© Enterprise GuideOui (Via Assistant)Non (Code requis)Oui (Via Assistant)
Support SAS© StudioOui (Via Tâches)Non (Code requis)Non (Code requis)

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.