Hello,
With proc freq (or another proc), is there a way to only print the counts for a certain value of a variable? I have 30+ variables and for each of those variables, I want to know how many observations in my sample had a value of 0.
Thanks!
Laura
One basic approach to count a specific value for a variable with Proc Freq;
proc freq data=sashelp.class; where sex='F'; tables sex; run;
Which would require 30 calls to proc freq.
If there are not many potential values involved for any of the variables (less than 10 values) I would likely just dump them all into a single proc freq call an look.
Or perhaps something like:
data need; set have; array v <list of your thirty variables>; do i= 1 to dim(v); variable = vname(v[i]); if v[i]=0 then output; end; keep variable; run; proc freq data=need; tables variable; run;
The count of variable is how many times it appeared as a 0 in the source data set. Note: if you have a mix of character and numeric variables this won't work as an array can only have variables of one type. So if you actually have some character "0" you would split the variables between two differently named arrays and the character comparison would be for "0" instead.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.
Early bird rate extended! Save $200 when you sign up by March 31.
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.
Ready to level-up your skills? Choose your own adventure.