Publicado el :
Gráfico CREATION_INTERNE

Visualización Estadística Anotada con PROC GPLOT

Este código también está disponible en: Deutsch English Français
En espera de validación
Este script primero genera un conjunto de datos de prueba que contiene diversas medidas físicas clasificadas por tipo (TEST). Luego utiliza el procedimiento MEANS para calcular la media, el mínimo y el máximo para cada categoría. Un paso DATA complejo construye un conjunto de datos de anotación (Annotate Facility) para dibujar manualmente barras de error horizontales que representan el intervalo Mín-Máx y marcar la media. Finalmente, el procedimiento GPLOT (SAS©/GRAPH) muestra el resultado. Nota: Este código utiliza procedimientos gráficos antiguos (SAS©/GRAPH) en lugar de los modernos procedimientos de ODS Graphics (SGPLOT).
Análisis de datos

Type : CREATION_INTERNE


Los datos se definen directamente en el script a través de la instrucción CARDS en el paso DATA 'a'.

1 Bloque de código
DATA STEP Data
Explicación :
Inicialización de las opciones gráficas globales y creación del conjunto de datos fuente 'a' que contiene las variables TEST (categoría) y BREAKS (valor).
¡Copiado!
1/* Set graphics options */
2goptions reset=all cback=white border;
3 
4/* Set system options */
5DATA a;
6INPUT TEST $ BREAKS ;
7CARDS;
8Cold 5
9Cold 12
10Cold 14
11Cold 22
12Cold 52
13Heat 20
14Heat 25
15Heat 10
16Heat 22
17Heat 47
18Gases 12
19Gases 25
20Gases 33
21Gases 48
22Gases 24
23Pressure 10
24Pressure 12
25Pressure 14
26Pressure 22
27Pressure 60
28Xrays 20
29Xrays 25
30Xrays 14
31Xrays 22
32Xrays 29
33Humidity 20
34Humidity 25
35Humidity 33
36Humidity 40
37Humidity 24
38;
39RUN;
2 Bloque de código
PROC SORT
Explicación :
Ordenamiento de los datos por la variable de grupo 'TEST' para preparar la agregación.
¡Copiado!
1/* Sort
2data by variable TEST */
3PROC SORT;
4BY TEST;
5 
6RUN;
7 
3 Bloque de código
PROC MEANS Data
Explicación :
Cálculo de las estadísticas descriptivas (media, desviación estándar, min, max) agrupadas por 'TEST'. Los resultados se almacenan en la tabla de salida 'b'.
¡Copiado!
1/**************************************************/
2/* Create an output data set, B using PROC MEANS */
3/* that contain new variables, MEAN, STD, STDERR, */
4/* MIN, and MAX. */
5/**************************************************/
6 
7PROC MEANS mean std stderr min max DATA=a;
8BY TEST;
9OUTPUT out=b mean=mean min=min max=max;
10RUN;
4 Bloque de código
DATA STEP Data
Explicación :
Creación de un conjunto de datos especial 'Annotate'. Define comandos gráficos (move, draw) para dibujar líneas azules del min al max, y marcadores rojos para la media, el min y el max. Utiliza el sistema de coordenadas de datos (xsys='2', ysys='2').
¡Copiado!
1/****************************************************************/
2/* Create an annotate data set, ANNO to draw the bars at +/- 1, */
3/* 2, or 3 Standard Deviation or Standard Error of the mean. */
4/****************************************************************/
5 
6DATA anno;
7retain xsys ysys '2' when 'a';
8LENGTH color function $8 ;
9SET b;
10 
11/* Draw the horizontal line from min to max */
12function='move'; xsys='2'; ysys='2'; yc=TEST; x=min; color='blue'; OUTPUT;
13function='draw'; x=max; color='blue'; size=2; OUTPUT;
14 
15/* Draw the MEAN horizontal line making the SIZE bigger */
16function='move'; xsys='2';ysys='2';yc=TEST;x=mean; color='red'; OUTPUT;
17function='draw'; x=mean; ysys='9'; y=+2; size=4; OUTPUT;
18function='draw'; x=mean; y=-4; size=4; OUTPUT;
19 
20/* Draw the line for the MIN value */
21function='move';xsys='2';ysys='2';yc=TEST;x=min;color='red';OUTPUT;
22function='draw';x=min;ysys='9';y=+2;size=2;OUTPUT;
23function='draw';x=min;y=-4;size=2;OUTPUT;
24 
25/* Draw the line for the MAX value */
26function='move';xsys='2';ysys='2';yc=TEST;x=max;color='red';OUTPUT;
27function='draw';x=max;ysys='9';y=+2;size=2;OUTPUT;
28function='draw';x=max;y=-4;size=2;OUTPUT;
29RUN;
5 Bloque de código
PROC GPLOT
Explicación :
Generación del gráfico final. El procedimiento GPLOT utiliza el conjunto de datos 'anno' para superponer los dibujos personalizados a los ejes definidos. El eje horizontal se fija de 0 a 100.
¡Copiado!
1axis1 order=(0 to 100 BY 10);
2symbol1 i=none v=none c=black;
3 
4PROC GPLOT DATA=b ;
5plot test*mean / anno=anno haxis=axis1 href=30 60 90; /* The HREF= option draws reference lines */
6RUN;
7QUIT;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.