BookmarkSubscribeRSS Feed
momi
Obsidian | Level 7

 

Hi,

How can I leave a zero count when outputting the count from PROC FREQ?

For example, here is the result from PROC FREQ.

 

  Yes No
A 40 0
B 30 20
C 0 30

 

When I use an OUT option, the output only contains nonzero count (below).

 

A Yes 40
B Yes 30
B No 20
C No

30

 

Instead above, I want to have all counts including zeros (below).

 

A Yes 40
A No 0
B Yes 30
B No 20
C Yes 0
C No 30

 

Can anyone help on this?

 

Thanks!

 

2 REPLIES 2
mkeintz
PROC Star

Use the SPARSE option on the tables statement:

 

proc freq data=have noprint;

  tables row * col / norow nocol nopercent sparse out=want;

run;

--------------------------
The hash OUTPUT method will overwrite a SAS data set, but not append. That can be costly. Consider voting for Add a HASH object method which would append a hash object to an existing SAS data set

Would enabling PROC SORT to simultaneously output multiple datasets be useful? Then vote for
Allow PROC SORT to output multiple datasets

--------------------------
momi
Obsidian | Level 7

The SPARSE option works!

Thanks!!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 8240 views
  • 2 likes
  • 2 in conversation