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 lock in 2025 pricing—just $495!
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.