Die Daten werden direkt im Code über die DATALINES-Anweisung generiert.
1 Codeblock
DATA STEP Data
Erklärung : Erstellung der Tabelle Grades1. ACHTUNG: Die Variable 'result' wird mit '' (leere Zeichenkette) initialisiert, wodurch ihre Länge auf 1 Zeichen festgelegt wird. Die Werte 'Failed' und 'Passed' werden zu 'F' und 'P' trunkisiert.
Kopiert!
DATA Grades1;
input subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
actualavg = mean(exam1,exam2,exam3,exam4,exam5,project,finalexam);
avgscore = (exam1+exam2+exam3+exam4+exam5+project+finalexam)/7;
if avgscore=. then result=''; * missing value;
else if avgscore < 80 then result='Failed';
else result='Passed';
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;
Erklärung : Anzeige von Grades1, um die Trunkierung der Variable 'result' zu beobachten.
Kopiert!
PROC PRINT DATA=Grades1;
var name avgscore actualavg result;
RUN;
1
2
PROC PRINT
3
DATA=Grades1;
4
var name avgscore actualavg RESULT;
5
RUN;
6
3 Codeblock
DATA STEP Data
Erklärung : Erstellung von Grades2. Hier wird 'result' mit einer Zeichenkette von 9 Leerzeichen initialisiert. Dies erzwingt implizit eine Länge von 9, wodurch eine Trunkierung vermieden wird, verbraucht aber unnötig Speicherplatz, wenn die Zeichenkette leer ist.
Kopiert!
DATA Grades2;
input subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
actualavg = mean(exam1,exam2,exam3,exam4,exam5,project,finalexam);
avgscore = (exam1+exam2+exam3+exam4+exam5+project+finalexam)/7;
if avgscore=. then result=' '; * missing value;
else if avgscore < 80 then result='Failed';
else if avgscore < 80 then result='Failed';
else result='Passed';
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;
Erklärung : Anzeige von Grades2. Die Werte 'Failed' und 'Passed' werden korrekt angezeigt.
Kopiert!
PROC PRINT DATA=Grades2;
var name avgscore actualavg result;
RUN;
1
2
PROC PRINT
3
DATA=Grades2;
4
var name avgscore actualavg RESULT;
5
RUN;
6
5 Codeblock
DATA STEP Data
Erklärung : Erstellung von Grades3. Verwendung der Anweisung 'LENGTH result $8.;' vor der Verwendung der Variable. Dies ist die empfohlene Methode, um den Typ und die Länge der Variablen präzise zu steuern.
Kopiert!
DATA Grades3;
length result $8.;
input subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
actualavg = mean(exam1,exam2,exam3,exam4,exam5,project,finalexam);
avgscore = (exam1+exam2+exam3+exam4+exam5+project+finalexam)/7;
if avgscore=. then result=''; * missing value;
else if avgscore < 80 then result='Failed';
else result='Passed';
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
LENGTHRESULT $8.;
3
INPUT subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
Erklärung : Endgültige Anzeige von Grades3, die die korrekte Verwaltung der Variable bestätigt.
Kopiert!
PROC PRINT DATA=Grades3;
var name avgscore actualavg result;
RUN;
1
2
PROC PRINT
3
DATA=Grades3;
4
var name avgscore actualavg RESULT;
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.