DATA Step, Macro, Functions and more

Use proc means better

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 5
Accepted Solution

Use proc means better

[ Edited ]

I was using this code to build a demographic table. How can I use one proc means to complete this.

 

proc means data=Work.aa;

var bwt;

class sex;

run;

proc means data=Work.aa;

var bwt;

class crace;

run;

proc means data=Work.aa;

var bwt;

class msmoke;

run;

proc means data=Work.aa;

var bwt;

class pvprem;

run;

proc means data=Work.aa;

var bwt;

class newmeduc;

run;


Accepted Solutions
Solution
‎10-14-2016 06:09 PM
Super User
Posts: 17,829

Re: Use proc means better

Use the WAYS or TYPES statement. WAYS is easier in this case. If you don't specify WAYS or TYPES you get all levels of analysis and then it's hard to filter out what you want.

 

proc means data=Work.aa;

class sex crace msmoke pvprem newmeduc;

WAYS 1; *says only 1 level analysis;

var bwt;

run;

http://support.sas.com/documentation/cdl/en/proc/68954/HTML/default/viewer.htm#n1affq2dctdc8un1eokb5...

View solution in original post


All Replies
Trusted Advisor
Posts: 1,378

Re: Use proc means better

You can try:

 

proc means data=Work.aa NWAY  /* options:  missing noprint ? */  ;

class sex   crace bwt msmoke pvperm newmeduc;

var bwt;

 

/* optionally add and look at the output dataset   my_stat */

output out=my_stat  /* ... list of statistics desired */  ;

run;

Occasional Contributor
Posts: 5

Re: Use proc means better

Screen Shot 2016-10-14 at 5.29.29 PM.png

Bwt is a continues variable.

All my 5 virable after class are categorical variable.

I use my code to get 5 tables like this. I am trying to use some options in proc means to generate 5 table. 

Super User
Posts: 10,500

Re: Use proc means better

If you are looking for this in one table another option would be one of the report procedures such as Tabulate or Report

here's a Tabulate example:

proc tabulate data=work.aa;
   class sex crace msmoke pvprem newmeduc/missing;
   var bwt;
   table  sex crace msmoke pvprem newmeduc,
          bwt*(n mean std Min Max);
run;
Solution
‎10-14-2016 06:09 PM
Super User
Posts: 17,829

Re: Use proc means better

Use the WAYS or TYPES statement. WAYS is easier in this case. If you don't specify WAYS or TYPES you get all levels of analysis and then it's hard to filter out what you want.

 

proc means data=Work.aa;

class sex crace msmoke pvprem newmeduc;

WAYS 1; *says only 1 level analysis;

var bwt;

run;

http://support.sas.com/documentation/cdl/en/proc/68954/HTML/default/viewer.htm#n1affq2dctdc8un1eokb5...

☑ This topic is SOLVED.

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

Discussion stats
  • 4 replies
  • 259 views
  • 2 likes
  • 4 in conversation