Die Prozedur PROC MEANS ist oft die erste Wahl des Analysten. Ihre Hauptfunktion besteht darin, deskriptive Statistiken für Variablen zu berechnen, entweder für alle Beobachtungen oder nach Gruppen.
Ihre Fähigkeiten umfassen:
Die Schätzung von Quantilen (einschließlich des Medians).
Die Berechnung von Konfidenzintervallen für den Mittelwert.
Die Identifizierung von Extremwerten.
Die Durchführung von Student-t-Tests (t-test).
Hauptmerkmal: Standardmäßig zeigt PROC MEANS seine Ergebnisse direkt im Ausgabefenster (Output window) an.
PROC SUMMARY: Die diskrete Stärke
Technisch gesehen ist die PROC SUMMARY identisch mit der PROC MEANS in Bezug auf statistische Berechnungen. Sie bietet die gleichen Verarbeitungsoptionen.
Der entscheidende Unterschied: Im Gegensatz zu MEANS, das die Anzeige bevorzugt, ist SUMMARY darauf ausgelegt, seine Ergebnisse in eine Ausgabetabelle (Dataset) zu schreiben. Sie zeigt standardmäßig nichts im Ergebnisfenster an, was sie ideal für die Vorbereitung von Zwischendaten macht, ohne die Berichte zu überladen.
PROC TABULATE: Die erweiterte Formatierung
Die PROC TABULATE greift die Konzepte von MEANS und SUMMARY auf, geht aber in Bezug auf die Darstellung viel weiter. Sie ist auf die Anzeige deskriptiver Statistiken in Form von hierarchischen Tabellen spezialisiert.
Ihre Hauptvorteile:
Flexibilität: Sie ermöglicht es, die Werte von Variablen zu klassifizieren und komplexe hierarchische Beziehungen zwischen ihnen herzustellen.
Doppelte Ausgabe: Sie kann die Ergebnisse an das Ausgabefenster und/oder an eine Datentabelle senden.
Formatierung: Sie bietet volle Kontrolle über die Bezeichnungen (Labels) und die Formatierung der generierten Statistiken.
Der folgende Code veranschaulicht den Unterschied in der Ausgabe. PROC MEANS zeigt das Ergebnis an, während PROC SUMMARY eine Tabelle mit dem Namen WORK.summaryout erstellt.
1
/* Direkte Anzeige der Statistiken */
proc means data=sashelp.cars;
var msrp invoice;
run;
/* Erstellung einer Ausgabetabelle */
proc summary data=sashelp.cars;
var msrp invoice;
OUTPUT out=WORK.summaryout (LABEL="Ausgabetabelle von PROC SUMMARY für SASHELP.CARS");
run;
1
/* Direkte Anzeige der Statistiken */
2
PROC MEANSDATA=sashelp.cars;
3
var msrp invoice;
4
RUN;
5
6
/* Erstellung einer Ausgabetabelle */
7
PROC SUMMARYDATA=sashelp.cars;
8
var msrp invoice;
9
OUTPUT out=WORK.summaryout (LABEL="Ausgabetabelle von PROC SUMMARY für SASHELP.CARS");
10
RUN;
Verwendung von TABULATE für eine strukturierte Tabelle
Hier erstellen wir eine Kreuztabelle, die den Fahrzeugtyp (in den Zeilen) mit Statistiken zu Gewicht und Radstand (in den Spalten) kreuzt.
PROC TABULATE
DATA=SASHELP.CARS
OUT=WORK.tabulateout (LABEL="Ausgabetabelle von PROC TABULATE für SASHELP.CARS")
FORMAT=comma10.2;
VAR Weight Wheelbase;
CLASS Type / ORDER=freq MISSING;
TABLE /* Zeilendimension */
Type,
/* Spaltendimension */
N
Weight * Range
Wheelbase * Mean;
run; quit;
1
PROC TABULATE
2
DATA=SASHELP.CARS
3
OUT=WORK.tabulateout (LABEL="Ausgabetabelle von PROC TABULATE für SASHELP.CARS")
4
FORMAT=comma10.2;
5
VAR Weight Wheelbase;
6
CLASS Type / ORDER=freq MISSING;
7
8
TABLE/* Zeilendimension */
9
Type,
10
/* Spaltendimension */
11
N
12
Weight * Range
13
Wheelbase * Mean;
14
RUN; QUIT;
Weiterführend: Bedingte Farbgebung mit TABULATE
Einer der großen Vorteile von PROC TABULATE ist die Fähigkeit, benutzerdefinierte Formate zur Hervorhebung von Daten zu verwenden (z. B. Ampel-Farbcode).
/* Definition des Farbformats */
PROC FORMAT;
VALUE watchit
0 - 20000 = 'Green'
20001 - 30000 = 'Orange'
30001 - 50000 = 'Blue'
50001 - 60000 = 'Purple'
60001 - high = 'Red';
run;
/* Anwendung des Formats als Vordergrundfarbe (foreground) */
PROC TABULATE data=sashelp.cars S=[foreground=watchit.]
FORMAT=dollar10.2
OUT=WORK.tabulatecolor (LABEL="Farbige Ausgabetabelle für SASHELP.CARS");
CLASS type cylinders / MISSING;
VAR invoice;
TABLE type ALL,
Invoice * mean;
run;
1
/* Definition des Farbformats */
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
/* Anwendung des Formats als Vordergrundfarbe (foreground) */
OUT=WORK.tabulatecolor (LABEL="Farbige Ausgabetabelle für SASHELP.CARS");
15
CLASS type cylinders / MISSING;
16
VAR invoice;
17
18
TABLE type ALL,
19
Invoice * mean;
20
RUN;
Vergleichende Zusammenfassung
Um Ihnen bei der Auswahl der richtigen Prozedur für Ihre Bedürfnisse zu helfen, finden Sie hier eine zusammenfassende Tabelle der wichtigsten funktionalen Unterschiede und ihrer Verfügbarkeit in den grafischen Oberflächen:
Obwohl PROC MEANS, SUMMARY und TABULATE in den deskriptiven Statistiken, die sie generieren, ähnlich sind, unterscheiden sie sich durch die Art ihrer Ausgaben und ihre Flexibilität.
Während PROC MEANS ideal für eine schnelle Überprüfung und PROC SUMMARY für die Erstellung von Datentabellen ist, bietet PROC TABULATE die größte Kontrolle. Ihre Vielseitigkeit macht sie oft zur besten Wahl für Szenarien, die eine saubere und hierarchische Darstellung der Daten erfordern.
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.