Help using Base SAS procedures

How to count in multiple columns with Proc Freq

Reply
New Contributor
Posts: 3

How to count in multiple columns with Proc Freq

Hi, I am using SAS EG 5.1 at work. I have a data base like below, with 14 columns. 1st column is unique IDs , and the rest are Instructions, which are in form of codes (numbers between 0 - 200) . Is there a way I can calculate the frequency of occurrence of a specific code value (for eg 30) in the whole instruction 1 : instruction 13 grid collectively. I have tried Proc freq, but that gives me tables for single columns separately.

I have previously done this in excel using the countif (range, criteria) code where I have set the range to the whole grid, and criteria as the value of the specific code.

Is there a SAS EG/BASE equivalent to the above function , where I can find the collective frequency of a specific number in a range of columns.

IDinstruction 1instruction2instruction 3instruction 4instruction 10
instruction 11
instruction 12
instruction 13

Thank you for the help Smiley Happy

Valued Guide
Posts: 860

Re: How to count in multiple columns with Proc Freq

Here you go, I shortened my answer but I think you'll get the idea:

data have ;

  input id instruction1 instruction2 instruction3 instruction4 instruction5 instruction6;

cards;

1 1 0 0 0 0 0

2 0 0 0 0 0 0

3 1 1 1 1 1 1

4 0 0 1 0 1 0

5 1 0 1 0 1 0

;

proc transpose data=have out=prep;by id;

proc sql;

create table want as

select count(col1) as result

from prep

where col1 = 1;

Ask a Question
Discussion stats
  • 1 reply
  • 261 views
  • 3 likes
  • 2 in conversation