Das Skript ist in fünf logische Abschnitte unterteilt, von denen jeder eine Datentabelle (Grades1 bis Grades5) erstellt und anzeigt. Der erste Abschnitt zeigt die einfache Erstellung und Anzeige. Die folgenden Abschnitte führen die Verwendung der VAR-Anweisung in PROC PRINT zur Auswahl und Sortierung von Spalten ein. Ein Abschnitt demonstriert, wie eine neue Variable (totalscores) innerhalb eines DATA STEP berechnet wird. Der letzte Abschnitt zeigt, wie der Wert einer vorhandenen Spalte geändert wird. Dieses Skript ist ein gutes Beispiel für Anfänger, die die Grundlagen des DATA STEP und der PROC PRINT-Prozedur erlernen.
Datenanalyse
Type : CREATION_INTERNE
Alle Daten werden direkt im SAS-Skript mithilfe der `DATALINES`-Anweisung innerhalb jedes DATA STEP erstellt und integriert. Es sind keine externen Datenquellen erforderlich oder werden verwendet.
1 Codeblock
DATA STEP Data
Erklärung : Dieser Codeblock erstellt eine SAS-Tabelle namens `Grades1`. Die `input`-Anweisung definiert die Datenstruktur, indem Variablen aus bestimmten Spaltenpositionen gelesen werden. Die Daten werden direkt im Code über `DATALINES` bereitgestellt.
Kopiert!
DATA Grades1;
input subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
DATALINES;
1011 Alia Bhatt 2 100 65 83 84 99 91 96
1012 Maria Smith 1 78 82 86 . 100 95 97
1111 Thomas Jones 2 88 81 96 69 91 90 98
1121 Benedictine Arnold 2 68 82 82 89 89 93 99
1301 Trisha Gupta 1 51 69 79 59 85 64 100
;
RUN;
1
DATA Grades1;
2
INPUT subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
3
DATALINES;
4
1011 Alia Bhatt 2100658384999196
5
1012 Maria Smith 1788286 . 1009597
6
1111 Thomas Jones 288819669919098
7
1121 Benedictine Arnold 268828289899399
8
1301 Trisha Gupta 1516979598564100
9
;
10
RUN;
2 Codeblock
PROC PRINT
Erklärung : Diese Prozedur zeigt den gesamten Inhalt der Tabelle `Grades1` im Ergebnisausgabefenster an.
Kopiert!
PROC PRINT DATA=Grades1;
RUN;
1
PROC PRINTDATA=Grades1;
2
RUN;
3 Codeblock
DATA STEP Data
Erklärung : Erstellt eine zweite Tabelle `Grades2`, identisch mit `Grades1`, um eine andere Anzeigefunktion zu demonstrieren.
Kopiert!
DATA Grades2;
input subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
DATALINES;
1011 Alia Bhatt 2 100 65 83 84 99 91 96
1012 Maria Smith 1 78 82 86 . 100 95 97
1111 Thomas Jones 2 88 81 96 69 91 90 98
1121 Benedictine Arnold 2 68 82 82 89 89 93 99
1301 Trisha Gupta 1 51 69 79 59 85 64 100
;
RUN;
1
DATA Grades2;
2
INPUT subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
3
DATALINES;
4
1011 Alia Bhatt 2100658384999196
5
1012 Maria Smith 1788286 . 1009597
6
1111 Thomas Jones 288819669919098
7
1121 Benedictine Arnold 268828289899399
8
1301 Trisha Gupta 1516979598564100
9
;
10
RUN;
4 Codeblock
PROC PRINT
Erklärung : Zeigt die Tabelle `Grades2` an. Die `var`-Anweisung wird verwendet, um die anzuzeigenden Spalten spezifisch auszuwählen und deren Reihenfolge festzulegen.
Kopiert!
PROC PRINT DATA=Grades2;
var name exam1 exam2 exam3 exam4 project finalexam;
RUN;
1
2
PROC PRINT
3
DATA=Grades2;
4
var name exam1 exam2 exam3 exam4 project finalexam;
5
RUN;
6
5 Codeblock
DATA STEP Data
Erklärung : Erstellt eine dritte Tabelle `Grades3`, um eine weitere Variation der Spaltenanzeige zu veranschaulichen.
Kopiert!
DATA Grades3;
input subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
DATALINES;
1011 Alia Bhatt 2 100 65 83 84 99 91 96
1012 Maria Smith 1 78 82 86 . 100 95 97
1111 Thomas Jones 2 88 81 96 69 91 90 98
1121 Benedictine Arnold 2 68 82 82 89 89 93 99
1301 Trisha Gupta 1 51 69 79 59 85 64 100
;
RUN;
1
DATA Grades3;
2
INPUT subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
3
DATALINES;
4
1011 Alia Bhatt 2100658384999196
5
1012 Maria Smith 1788286 . 1009597
6
1111 Thomas Jones 288819669919098
7
1121 Benedictine Arnold 268828289899399
8
1301 Trisha Gupta 1516979598564100
9
;
10
RUN;
6 Codeblock
PROC PRINT
Erklärung : Zeigt die Tabelle `Grades3` an und verwendet die `var`-Anweisung, um die Spalten in einer anderen Reihenfolge als ihrer natürlichen Reihenfolge in der Tabelle neu anzuordnen.
Kopiert!
PROC PRINT DATA=Grades3;
var name project finalexam exam1 exam2 exam3 exam4;
RUN;
1
2
PROC PRINT
3
DATA=Grades3;
4
var name project finalexam exam1 exam2 exam3 exam4;
5
RUN;
6
7 Codeblock
DATA STEP Data
Erklärung : Erstellt die Tabelle `Grades4`. Eine neue Variable `totalscores` wird durch Addition der Werte der Prüfungen, des Projekts und der Abschlussprüfung berechnet. Beachten Sie, dass wenn eine der Variablen in der Berechnung fehlt ('.'), wie bei 'Maria Smith', das Ergebnis von `totalscores` ebenfalls fehlt.
Kopiert!
DATA Grades4;
input subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
totalscores = exam1 + exam2 + exam3 + exam4 + exam5 + project + finalexam;
DATALINES;
1011 Alia Bhatt 2 100 65 83 84 99 91 96
1012 Maria Smith 1 78 82 86 . 100 95 97
1111 Thomas Jones 2 88 81 96 69 91 90 98
1121 Benedictine Arnold 2 68 82 82 89 89 93 99
1301 Trisha Gupta 1 51 69 79 59 85 64 100
;
RUN;
1
DATA Grades4;
2
INPUT subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
Erklärung : Zeigt die Tabelle `Grades4` an, einschließlich der neu berechneten Spalte `totalscores`, um das Berechnungsergebnis zu überprüfen.
Kopiert!
PROC PRINT DATA=Grades4;
var name exam1 exam2 exam3 exam4 project finalexam totalscores;
RUN;
1
2
PROC PRINT
3
DATA=Grades4;
4
var name exam1 exam2 exam3 exam4 project finalexam totalscores;
5
RUN;
6
9 Codeblock
DATA STEP Data
Erklärung : Erstellt die Tabelle `Grades5`. In diesem DATA STEP wird der Wert der vorhandenen Variable `exam2` für jede Beobachtung um 1 erhöht.
Kopiert!
DATA Grades5;
input subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
exam2 = exam2 + 1;
DATALINES;
1011 Alia Bhatt 2 100 65 83 84 99 91 96
1012 Maria Smith 1 78 82 86 . 100 95 97
1111 Thomas Jones 2 88 81 96 69 91 90 98
1121 Benedictine Arnold 2 68 82 82 89 89 93 99
1301 Trisha Gupta 1 51 69 79 59 85 64 100
;
RUN;
1
DATA Grades5;
2
INPUT subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
3
exam2 = exam2 + 1;
4
DATALINES;
5
1011 Alia Bhatt 2100658384999196
6
1012 Maria Smith 1788286 . 1009597
7
1111 Thomas Jones 288819669919098
8
1121 Benedictine Arnold 268828289899399
9
1301 Trisha Gupta 1516979598564100
10
;
11
RUN;
10 Codeblock
PROC PRINT
Erklärung : Zeigt die Tabelle `Grades5` an, um das Ergebnis der an der Spalte `exam2` vorgenommenen Änderung zu visualisieren.
Kopiert!
PROC PRINT DATA=Grades5;
var name exam1 exam2 exam3 exam4 project finalexam ;
RUN;
1
2
PROC PRINT
3
DATA=Grades5;
4
var name exam1 exam2 exam3 exam4 project finalexam ;
5
RUN;
6
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.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.