BookmarkSubscribeRSS Feed
nnnwf
Fluorite | Level 6

i have proc means procedure as below. I want to modify it to show count of 0 values for each column. 

 

or

 

is there any other proc that i could use that will provide me below for selected numeric columns in my dataset?

MEAN STD MIN MAX N NMISS 0count

 

 

 

data work.staff;
   infile datalines dlm='#';
   input Name & $16. IdNumber $ Salary 
         Site $ HireDate date7.;
   format hiredate date7.;
   datalines;
Capalleti, Jimmy#  2355# 21163# BR1# 30JAN09
Chen, Len#         5889# 20976# BR1# 18JUN06
Davis, Brad#       3878# 19571# BR2# 20MAR84
Leung, Brenda#     4409# 34321# BR2# 18SEP94
Martinez, Maria#   3985# 0# US2# 10JAN93
Orfali, Philip#    0740# 50092# US2# 16FEB03
Patel, Mary#       2398# 35182# BR3# 02FEB90
Smith, Robert#     5162# 40100# BR5# 15APR66
Sorrell, Joseph#   4421# 38760# US1# 19JUN11
Zook, Carla#       7385# 22988# BR3# 18DEC10
run;

PROC MEANS DATA=WORK.staff
	FW=12
	PRINTALLTYPES
	CHARTYPE
	VARDEF=DF 	
		MEAN 
		STD 
		MIN 
		MAX 
		N 
		NMISS	;
	VAR Salary HireDate;

RUN;

 

 

5 REPLIES 5
SASKiwi
PROC Star

Checking Related topics to your post can be useful. Does this help? 

https://communities.sas.com/t5/SAS-Procedures/PROC-FREQ-Include-Zero-Counts/m-p/325505#M62255

nnnwf
Fluorite | Level 6

how could i include other statistics, like mean median mode max min etc along with count of 0s? i would like to have a single output table similar to proc freq

Astounding
PROC Star

The simplest way would be to work with your data, creating a new variable:

 

if salary = 0 then _0_count = 0;

 

Now the N statistic for _0_count gives you a count of the zeros.

nnnwf
Fluorite | Level 6

but that would mean that i have to create dummy column for each column in my data. I have 100+ columns and i cannot create dummy column for each

ballardw
Super User

See if this gives you something usable.

proc format library=work;
value iszero
0='Yes'
other='No'
;
run;

proc tabulate data=have;
   class _numeric_/missing;
   format _numeric_ iszero.;
   tables _numeric_ ,
          n
   ;
run;

replace HAVE with the name of your data set.

 

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
  • 5 replies
  • 5164 views
  • 0 likes
  • 4 in conversation