I am trying to create a macro that drops all the variables having missing value % greater than 80. I have written a small code to get it started. But i am stuck how to take it forward.
data have;
set sashelp.class;
if _n_ in (5,10,12) then do;
call missing(height,weight);
end;
if _n_ in (7,9) then do;
call missing(age);
end;
run;
proc means data=have noprint;
var _numeric_;
output out=temp (drop=_type_) nmiss=;
run;
You want to know the names of the variables that have more than some percentage missing?
I'm not sure if this is what you want, let me know:
data have;
set sashelp.class;
if _n_ in (5,10,12) then do;
call missing(height,weight);
end;
if _n_ in (7,9) then do;
call missing(age);
end;
run;
data want;
set have;
if missing(height) or missing(weight) then delete;
run;
You want to know the names of the variables that have more than some percentage missing?
How can i replicate the same for character variables? PROC MEANS does not work for character variables and PROC FREQ produces clumsy output. Thanks in anticipation!
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.