Expertentipp:
Wussten Sie schon, wie Sie für alle Variablen eines Datensatzes die Anzahl fehlender Werte bestimmen können?
Und so geht’s:
Die Vorgehensweise wird anhand eines simulierten Datenbeispiels demonstriert:
data temp;
input x1 $ x2 $ x3 $ x4 x5;
datalines;
a . a 1 3
. b . 2 4
a a a . 5
. . b 3 5
a a a . 6
a a a . 7
a a a 2 8
;
run;
Falls Sie nur an der Anzahl fehlender Werte von allen numerischen Variablen in einem Datensatz interessiert sind, genügt ein einfacher Aufruf der Prozedur MEANS:
proc means data=temp nmiss n;
run;
Durch das Weglassen der VAR-Anweisung werden in der Prozedur MEANS die angeforderten Statistiken NMISS und N für alle numerischen Variablen (x4 und x5) des Beispieldatensatzes TEMP berechnet.
Für eine variablentyp-unabhängige Auszählung fehlender Werte werden zunächst zwei Formate definiert, die das eindeutige Labeln aller fehlenden und nicht-fehlenden Werte einer Variablen erlauben:
proc format;
value $missfmt
' '='Missing'
other='Not Missing'
;
value missfmt
. ='Missing'
other='Not Missing'
;
run;
Das eigentliche Auszählen erfolgt dann mit der Prozedur FREQ. Die definierten Formate erlauben dabei eine Gruppierung der Werte einer Variablen nach fehlend bzw. nicht-fehlend. Ferner werden über die Schlüsselwörter _NUMERIC_ und _CHAR_ sowohl die Formatzuweisungen als auch die Auszählungen für alle numerischen und alphanumerischen Variablen simultan durchgeführt:
proc freq data=temp;
format _char_ $missfmt. _numeric_ missfmt.;
tables _char_ _numeric_ / missing nocum nopercent;
run;
Die Ergebnisse umfassen für jede Variable des Datensatzes die Anzahlen fehlender und nicht-fehlender Werte - und zwar unabhängig vom Typ der Variablen: