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!
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 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.