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!
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.