El procedimiento PROC MEANS es a menudo el primer reflejo del analista. Su función principal es calcular estadísticas descriptivas para variables, ya sea sobre el conjunto de las observaciones o por grupos.
Sus capacidades incluyen:
La estimación de cuantiles (incluida la mediana).
El cálculo de los límites de confianza para la media.
La identificación de valores extremos.
La realización de tests de Student (t-test).
Particularidad principal: Por defecto, PROC MEANS muestra sus resultados directamente en la ventana de salida (Output window).
PROC SUMMARY: La Potencia Discreta
Técnicamente, el procedimiento PROC SUMMARY es idéntico a PROC MEANS en términos de cálculos estadísticos. Ofrece las mismas opciones de tratamiento.
La diferencia clave: A diferencia de MEANS que prioriza la visualización, SUMMARY está diseñado para escribir sus resultados en una tabla de salida (dataset). No muestra nada por defecto en la ventana de resultados, lo que lo hace ideal para preparar datos intermedios sin sobrecargar los informes.
PROC TABULATE: El Formato Avanzado
El procedimiento PROC TABULATE retoma los conceptos de MEANS y SUMMARY pero va mucho más allá en materia de presentación. Está especializado en la visualización de estadísticas descriptivas en forma de tablas jerárquicas.
Sus principales ventajas:
Flexibilidad: Permite clasificar los valores de las variables y establecer relaciones jerárquicas complejas entre ellas.
Doble Salida: Puede enviar los resultados a la ventana de salida y/o a una tabla de datos.
Formato: Ofrece un control total sobre las etiquetas (labels) y el formato de las estadísticas generadas.
El código a continuación ilustra la diferencia de salida. PROC MEANS muestra el resultado, mientras que PROC SUMMARY crea una tabla llamada 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;
Uso de TABULATE para una tabla estructurada
Aquí, creamos una tabla que cruza el tipo de vehículo (en fila) con estadísticas de peso y distancia entre ejes (en columna).
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;
Ir más allá: Coloreado condicional con TABULATE
Una de las grandes ventajas de PROC TABULATE es su capacidad para utilizar formatos personalizados para resaltar datos (ej: código de color "semáforo").
/* 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;
Síntesis Comparativa
Para ayudarle a elegir el procedimiento correcto según sus necesidades, aquí tiene una tabla resumen de las principales diferencias funcionales y su disponibilidad en las interfaces gráficas:
Aunque PROC MEANS, SUMMARY y TABULATE son similares en las estadísticas descriptivas que generan, se distinguen por la naturaleza de sus salidas y su flexibilidad.
Si PROC MEANS es ideal para una verificación rápida y PROC SUMMARY para la creación de tablas de datos, PROC TABULATE ofrece el mayor control. Su versatilidad a menudo lo convierte en la mejor opción para escenarios que requieren una presentación cuidada y jerarquizada de los datos.
Avertissement important
Les codes et exemples fournis sur WeAreCAS.eu sont à but pédagogique. Il est impératif de ne pas les copier-coller aveuglément sur vos environnements de production. La meilleure approche consiste à comprendre la logique avant de l'appliquer. Nous vous recommandons vivement de tester ces scripts dans un environnement de test (Sandbox/Dev). WeAreCAS décline toute responsabilité quant aux éventuels impacts ou pertes de données sur vos systèmes.
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.