Help using Base SAS procedures

Proc format and proc freq

Accepted Solution Solved
Reply
Occasional Contributor jtb
Occasional Contributor
Posts: 6
Accepted Solution

Proc format and proc freq

Looking to see if anyone knows of an easy way to do the following...

I have a format set up for ranges on "score".

I do a proc freq on score and see the ranges for my scores.  Now, I'm being requested to show ALL my ranges, regardless of whether or not a score is present.  If a score does not exist for a range then it should show as zero.  Example below:

  Proc format ;

  value scorefmt

     0 -< 10 = "0 - 10"

     10 -< 20 = "10 - 20"

     20 -< 30 = "20 - 30"

     30 -< 40 = "30 - 40"

     40 - HIGH = "40+" ;

  run ;

data dataset1 ;

  length score 8 ;

  input score ;

  format score scorefmt. ;

  datalines ;

1

10

11

19

45

;

  run ;

 

proc format data = dataset1 ;

  tables score / list missing ;

  run ;

shows:

                                                        Cumulative    Cumulative

  score    Frequency     Percent     Frequency      Percent
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ

0 - 10            1       20.00             1        20.00

10 - 20           3       60.00             4        80.00

40+               1       20.00             5       100.00

What I would LIKE to see:

                                                        Cumulative    Cumulative

  score    Frequency     Percent     Frequency      Percent
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ

0 - 10            1       20.00             1        20.00

10 - 20           3       60.00             4        80.00

20 - 30          0          0                    4     80.00

40+               1       20.00             5       100.00


Accepted Solutions
Solution
‎07-22-2013 05:16 PM
Super User
Posts: 11,343

Re: Proc format and proc freq

You want a procedure that lets you use PRELOADFMT option for class type variables. Which means procs tabulate, report or means.

Roughly equivalent for your freq, though it doesn't generate the cumulative bits

proc tabulate data=dataset1;

class score /preloadfmt missing;

format score scorefmt.;

table score, n pctn / printmiss;

run;

View solution in original post


All Replies
Valued Guide
Posts: 2,177

Re: Proc format and proc freq

CompleteTypes

Solution
‎07-22-2013 05:16 PM
Super User
Posts: 11,343

Re: Proc format and proc freq

You want a procedure that lets you use PRELOADFMT option for class type variables. Which means procs tabulate, report or means.

Roughly equivalent for your freq, though it doesn't generate the cumulative bits

proc tabulate data=dataset1;

class score /preloadfmt missing;

format score scorefmt.;

table score, n pctn / printmiss;

run;

Occasional Contributor jtb
Occasional Contributor
Posts: 6

Re: Proc format and proc freq

Thanks so much!

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 288 views
  • 0 likes
  • 3 in conversation