Hi,
I have used array statement to change the wide format to long format for a dataset. I created a dataset excluding the missing values of hwt variable. In addition, I want to output the list of subjects missing variable hwt as a separate dataset.
data patient1;
set patrecord;
array cal(i):smileyinfo: hwt1 hwt2 hwt3 hwt4;
do over cal;
day = i;
hwt=cal;
IF missing(cal) THEN delete;
output;
end;
keep ID day hwt;
run;
Any suggestions, please!
Is something like this what you are looking for?
data patient1
missinghwt (keep= PatienIdVariable day)
;
set patrecord;
array cal(i) hwt1 hwt2 hwt3 hwt4;
do over cal;
day = i;
hwt=cal;
IF missing(cal) THEN output missinghwt;
else output patient1;
end;
keep ID day hwt;
run;
A sample of desired output would help. And how do you define "subject".
But it shoulnd't much more than having a second data set defined in the data statement, and have two different output statements (rather than the delete?).
I agree with Linus: a sample of the desired output would definitely help.
Do you realize that your current code stops working on a record as soon as it finds a missing value?
Is something like this what you are looking for?
data patient1
missinghwt (keep= PatienIdVariable day)
;
set patrecord;
array cal(i) hwt1 hwt2 hwt3 hwt4;
do over cal;
day = i;
hwt=cal;
IF missing(cal) THEN output missinghwt;
else output patient1;
end;
keep ID day hwt;
run;
Thank you all ! That additional statement works!
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.