Veröffentlicht am :
Grafik INTERNE_ERSTELLUNG

Annotierte Statistische Visualisierung mit PROC GPLOT

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieses Skript generiert zunächst einen Testdatensatz mit verschiedenen physikalischen Messungen, klassifiziert nach Typ (TEST). Anschließend wird die PROC MEANS Prozedur verwendet, um den Mittelwert, das Minimum und das Maximum für jede Kategorie zu berechnen. Ein komplexer DATA-Schritt erstellt einen Annotationsdatensatz (Annotate Facility), um manuell horizontale Fehlerbalken zu zeichnen, die den Min-Max-Bereich darstellen, und den Mittelwert zu markieren. Schließlich zeigt die PROC GPLOT Prozedur (SAS©/GRAPH) das Ergebnis an. Hinweis: Dieser Code verwendet ältere Grafikprozeduren (SAS©/GRAPH) anstelle der modernen ODS Graphics Prozeduren (SGPLOT).
Datenanalyse

Type : INTERNE_ERSTELLUNG


Die Daten werden direkt im Skript über die CARDS-Anweisung im DATA-Schritt 'a' definiert.

1 Codeblock
DATA STEP Data
Erklärung :
Initialisierung globaler Grafikoptionen und Erstellung des Quelldatensatzes 'a', der die Variablen TEST (Kategorie) und BREAKS (Wert) enthält.
Kopiert!
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 Codeblock
PROC SORT
Erklärung :
Sortierung der Daten nach der Gruppenvariable 'TEST' zur Vorbereitung der Aggregation.
Kopiert!
1/* Sort
2data by variable TEST */
3PROC SORT;
4BY TEST;
5 
6RUN;
7 
3 Codeblock
PROC MEANS Data
Erklärung :
Berechnung deskriptiver Statistiken (Mittelwert, Standardabweichung, Min, Max), gruppiert nach 'TEST'. Die Ergebnisse werden in der Ausgabetabelle 'b' gespeichert.
Kopiert!
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 Codeblock
DATA STEP Data
Erklärung :
Erstellung eines speziellen 'Annotate'-Datensatzes. Dieser definiert grafische Befehle (move, draw), um blaue Linien vom Minimum zum Maximum zu zeichnen und rote Markierungen für den Mittelwert, das Minimum und das Maximum zu setzen. Verwendet das Datenkoordinatensystem (xsys='2', ysys='2').
Kopiert!
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 Codeblock
PROC GPLOT
Erklärung :
Generierung der finalen Grafik. Die PROC GPLOT Prozedur verwendet den Datensatz 'anno', um die benutzerdefinierten Zeichnungen über die definierten Achsen zu legen. Die horizontale Achse ist von 0 bis 100 festgelegt.
Kopiert!
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;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.