Veröffentlicht am :
Reporting SASHELP

Einfache Statistiken mit Scatter-Diagramm und Referenzlinien

Dieser Code ist auch verfügbar auf: English Español Français
Dieses SAS©-Skript definiert ein `STATGRAPH`-Modell namens `simpleStats` zur Datenvisualisierung. Es erstellt ein Scatter-Diagramm (Streudiagramm), das die Beziehung zwischen dem vom Hersteller empfohlenen Verkaufspreis (msrp) und dem Autobahnkraftstoffverbrauch (mpg_highway) darstellt, gruppiert nach Fahrzeugtyp. Das Diagramm wird durch Referenzlinien ergänzt: eine vertikale Linie für den Median des `msrp` und zwei horizontale Linien für den Mittelwert von `mpg_highway` plus/minus eine Standardabweichung. Eine Legende für die Typgruppen ist enthalten, und eine dynamische Fußnote zeigt den Min/Max-Gewichtsbereich der Fahrzeuge an. Das Modell wird anschließend mit der Tabelle `sashelp.cars` gerendert.
Datenanalyse

Type : SASHELP


Das Skript verwendet die Tabelle `cars` aus der internen Bibliothek `sashelp`, einer Standarddatenquelle, die in allen SAS-Installationen verfügbar ist.

1 Codeblock
PROC TEMPLATE
Erklärung :
Dieser Block definiert ein wiederverwendbares `STATGRAPH`-Grafikmodell namens `simpleStats`. Es spezifiziert die visuellen Elemente des Diagramms, einschließlich eines Titels, eines überlagerten Layouts zur Kombination grafischer Elemente, eines Streudiagramms (`scatterPlot`), gruppiert nach der Variablen `type`, und Referenzlinien (`referenceLine`), die dynamisch unter Verwendung statistischer Funktionen (`median`, `mean`, `std`) und der `eval`-Funktion berechnet werden. Eine diskrete Legende wird hinzugefügt, sowie eine Fußnote (`entryFootnote`), die zusammenfassende Statistiken (Min und Max von `weight`) des aktuell gerenderten Datensatzes anzeigt. Dieses Modell kapselt die Logik der Diagrammpräsentation, ohne die Daten in diesem Stadium zu verarbeiten, wodurch es wiederverwendbar ist.
Kopiert!
1PROC TEMPLATE;
2 define statgraph simpleStats;
3 beginGraph;
4 entryTitle "Simple Statistics using Expression";
5 layout overlay;
6 scatterPlot x=msrp y=mpg_highway / name="sp1"
7 group=type dataTransparency=0.2;
8 referenceLine x=eval(median(msrp)) / lineAttrs=(pattern=shortDash)
9 curveLabel="x(*ESC*){unicode '0303'x}" curveLabelAttrs=(size=12);
10 referenceLine y=eval(mean(mpg_highway) + std(mpg_highway)) /
11 curveLabel="x(*ESC*){unicode '0304'x} + (*ESC*){unicode sigma}"
12 curveLabelAttrs=(size=12) lineAttrs=(pattern=dashDashDot);
13 referenceLine y=eval(mean(mpg_highway) - std(mpg_highway)) /
14 curveLabel="x(*ESC*){unicode '0304'x} - (*ESC*){unicode sigma}"
15 curveLabelAttrs=(size=12) lineAttrs=(pattern=dashDashDot);
16 discreteLegend "sp1" / across=3 location=inside hAlign=right vAlign=top;
17 endLayout;
18 entryFootnote halign=left "Weight (in lbs) ranges from " eval(min(weight))
19 " to " eval(max(weight)) ;
20 endGraph;
21 END;
22RUN;
2 Codeblock
PROC SGRENDER
Erklärung :
Dieser Codeblock beginnt mit dem Zurücksetzen der grafischen ODS-Optionen (`ods graphics / reset;`), um eine saubere grafische Umgebung zu gewährleisten und Interferenzen mit früheren Einstellungen zu vermeiden. Anschließend wird die Prozedur `PROC SGRENDER` verwendet, um das Diagramm zu generieren. Sie wendet das zuvor definierte Modell `simpleStats` (über `template=simpleStats`) auf die in der Tabelle `sashelp.cars` enthaltenen Daten (über `data=sashelp.cars`) an. Dies erzeugt das Diagrammbild mit allen im Modell angegebenen Elementen, wobei die Variablen `msrp`, `mpg_highway`, `type` und `weight` aus der Tabelle `cars` für das endgültige Rendering verwendet werden.
Kopiert!
1ods graphics / reset;
2PROC SGRENDER
3DATA=sashelp.cars template=simpleStats;
4RUN;
5 
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.