@thackkr wrote:
Thank you so much for the suggestion! A co-worker suggested I look at formats, too. I'm guessing this means there is no simple way to do it without proc format then? Thank you!
Sort and use ORDER=Data option:
data example;
do i= 1 to 100;
_educag = rand('integer',1,5);
if _educag=5 then _educag=9;
if _EDUCAG = 1 then educat = "No HS Diploma";
if _EDUCAG = 2 then educat = "HS Diploma";
if _EDUCAG = 3 then educat = "Some College";
if _EDUCAG = 4 then educat = "College Grad";
if _EDUCAG = 9 then educat = "Don't Know";
output;
end;
run;
proc sort data=example;
by _educag;
run;
proc freq data=example order=data;
tables educat;
run;
However, if you want to summarize many variables at once it is very unlikely that a sort order would be correct for more than one variable.
IMHO the Format approach is likely the most flexible in the long run. All you need to get a summary of No HS diploma, HS or college and Don't Know is a new format. No additional variables added Also the groups created by formats will generally be used by any analysis or graphing procedure.
... View more