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!
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.