I tried to format a numeric variable into two categories. But when I ran the frequencies for it, the program treated 'OTHER' missing. Here is my syntax:
proc format;
value $process
'01'-'03'='Done'
OTHER='Not finished';
value outcome
1-2='Done'
OTHER='Not participating';
run:
proc freq;
format var_process $process.;
format general_outcome outcome.;
tables general_outcome*var_process;
run;
For general_outcome, only 'Done' was tabulated. When missing values were included, 'Not participating' was tabulated
Has anyone experienced this?
Thank you!
By default, missing values are tallied separately by PROC FREQ. If you want them as part of the table, add the MISSING option:
tables general_outcome * var_process / missing;
The addition of a FORMAT statement doesn't affect the process.
Thank you.
But since I set 'OTHER' values as 'Not participating', there is no missing values in my data. Only two values include 'Done' and 'Not participating' (value outcome 1-2='Done' OTHER='Not participating';). The problem is SAS treated 'OTHER' values as missing while it should treat other values as 'Not participating'.
No, that's not quite right. Adding a format does not change what is in your data. Not in any way. You still have missing values in your data.
Adding a format changes what characters print, instead of printing the actual values in your data.
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 the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.