| Date: | Mon, 3 Aug 1998 13:32:15 -0700 |
| Reply-To: | "Liu, Amy" <ALiu@MEDNET.UCLA.EDU> |
| Sender: | "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU> |
| From: | "Liu, Amy" <ALiu@MEDNET.UCLA.EDU> |
| Subject: | Detecting missing value |
| Content-Type: | text/plain |
|---|
I would like to ask quesitons regarding detecting missing value. I
could use array to detect missing value and output them. However, when
I print the records, every variables (even not missing) show up. How
could I just output the variables that contains missing value in each
oabservation?
For example, the ideal is to output the following:
(this part lists all the missing
variables for each record)
Famid=203 subid=201 mdd4=. dd4=. adhd4=.
Famid=204 subid=201 cond4=. adhhtype=. aadhdtyp=.
Famid=204 subid=301 adocd4=. adhd4=.
.....etc
My SAS codes and SAS log are:
%let MISS = amdd4 mdd4 add4 dd4 aman4 man4 asch4 sch4 aadsad4 adsad4
aadsop4 adsop4 aadsip4 adsip4 agad4 gad4 aaDocd4
adocd4
aptsd4 ptsd4 aanorx4 anorx4 abulim4 bulim4
aadhd4 adhd4
aadtype adhdtype acond4 cond4 aodd4 odd4 asubab4
subab4
asubdp4 subdp4 atour4 tour4 amt4 mt4 avt4
vt4;
DATA MISSING4;
SET FOUR;
ARRAY MISS {*} &miss;
DO I=LBOUND(MISS) TO HBOUND(MISS);
IF MISS(I)=. THEN DO;
var = scan("&miss",i);
put 'famid= ' famid 'subid= ' subid var;
OUTPUT MISSING4;
RETURN;
END;
DROP I;
END;
run;
***********************************************
SAS Log:
330 DATA MISSING4;
331 SET FOUR;
332 ARRAY MISS {*} &miss;
333 DO I=LBOUND(MISS) TO HBOUND(MISS);
334 IF MISS(I)=. THEN DO;
335 var = scan("&miss",i);
WARNING: The current word or quoted string has become more than 200
characters l
ong. You may have
unbalanced quotation marks.
NOTE: A double quote (") will terminate this quoted string.
336 put 'famid= ' famid 'subid= ' subid 'var=' var;
337 OUTPUT MISSING4;
338 RETURN;
339 END;
340 DROP I;
341 END;
342 run;
famid= 144 subid= 303 var=
famid= 507 subid= 301 var=
famid= 507 subid= 302 var=
famid= 510 subid= 301 var=
famid= 510 subid= 302 var=
famid= 511 subid= 302 var=
famid= 512 subid= 301 var=
famid= 514 subid= 301 var=sch4
famid= 515 subid= 304 var=
famid= 528 subid= 301 var=aadsip4
famid= 528 subid= 302 var=adsad4
famid= 529 subid= 301 var=
famid= 529 subid= 302 var=
famid= 531 subid= 302 var=
famid= 542 subid= 301 var=
famid= 543 subid= 302 var=mdd4
famid= 546 subid= 302 var=
famid= 550 subid= 302 var=
famid= 556 subid= 301 var=
famid= 572 subid= 302 var=mdd4
famid= 594 subid= 302 var=
famid= 598 subid= 302 var=
famid= 600 subid= 301 var=
famid= 608 subid= 301 var=
famid= 611 subid= 301 var=
famid= 611 subid= 302 var=
famid= 614 subid= 303 var=
famid= 631 subid= 301 var=
famid= 636 subid= 301 var=mdd4
famid= 503 subid= 202 var=
famid= 512 subid= 201 var=
famid= 522 subid= 202 var=
famid= 523 subid= 201 var=
famid= 532 subid= 201 var=
famid= 540 subid= 202 var=
famid= 543 subid= 201 var=
famid= 544 subid= 201 var=
famid= 552 subid= 201 var=
famid= 581 subid= 201 var=
famid= 593 subid= 202 var=
famid= 594 subid= 201 var=
famid= 595 subid= 201 var=
famid= 596 subid= 202 var=
famid= 598 subid= 202 var=
famid= 602 subid= 202 var=
famid= 609 subid= 201 var=
famid= 610 subid= 201 var=
famid= 611 subid= 201 var=
famid= 612 subid= 202 var=
famid= 621 subid= 202 var=
famid= 630 subid= 202 var=
NOTE: The data set WORK.MISSING4 has 51 observations and 209 variables.
NOTE: The DATA statement used 0.22 seconds.
Thank you very much for any help.
|