Hi I want to produce a table that has the frequency of males and females by age group and bmi group and the 95%conf interval for bmi within each group.
ie
--------------------------------------------------------------
Sex | underweight | normal | overweight | obese |
--------------------------------------------------------------
|M Freq | 5 | 10 | 8 | 5 |
--------------------------------------------------------------
| 95%CI| 15.1-18.0 | 19.1-20.5| 26.2-29.1 | 36.9-41.1 |
etc
many thanks in advanced
PROC FORMAT;
VALUE agefmt
20-<30 = '20-<30 years'
30-<40 = '30-<40 years'
40-<50 = '40-<50 years'
;
value bmifmt
9-<18.5 = 'Underweight (9-<18.5)'
18.5-<25 = 'Healthy (18.5-<25)'
25-<30 = 'Overweight (25-<30)'
30-51 = 'Obese (30+)';
VALUE sexfmt
0 = 'Female'
1 = 'Male'
;
RUN;
DATA have;
INPUT age bmi sex @@;
DATALINES;
20 18.5 1 25 23.5 1 26 24.5 1 20 15.5 1 20 16.2 1 21 18.0 1 20 30.2 1 21 26.5 1 22 29.0 1 22 29.5 1
20 22.5 0 21 23.5 0 20 24.5 0 23 25.5 0 23 25.2 0 25 19.0 0 26 38.2 0 23 36.5 0 24 29.0 0 25 16.5 0
30 22.5 0 31 23.5 0 30 24.5 0 33 25.5 0 33 25.2 0 35 19.0 0 36 38.2 0 33 36.5 0 34 29.0 0 35 16.5 0
30 18.5 1 35 20.5 1 36 24.5 1 30 15.5 1 30 16.2 1 31 18.0 1 30 30.2 1 31 26.1 1 32 29.1 1 32 29.5 1
40 22.5 0 40 23.5 0 40 24.5 0 42 25.5 0 42 20.2 0 45 39.0 0 46 38.2 0 43 36.5 0 44 29.0 0 45 30.5 0
40 12.5 1 41 28.5 1 40 24.5 1 43 25.5 1 43 25.2 1 45 19.0 1 46 38.2 1 43 36.5 1 44 29.0 1 45 16.5 1
;
DATA want;
SET have;
FORMAT age agefmt.;
FORMAT bmi bmifmt. ;
FORMAT sex sexfmt.;
RUN;
Use a class statement to divide data into different group:
proc means data=want n mean std clm;
class sex age bmi;
var bmi;
run;
Use a class statement to divide data into different group:
proc means data=want n mean std clm;
class sex age bmi;
var bmi;
run;
@maragdalis wrote:
Hi I want to produce a table that has the frequency of males and females by age group and bmi group and the 95%conf interval for bmi within each group.
I think it would be helpful to be technical for a second. You cannot produce "confidence intervals for BMI", there is no such thing. There are confidence intervals for a statistic computed from BMI such as confidence intervals of the mean of BMI. From now on, for your own benefit as well as for the benefit of your audience, you should probably refer to "confidence intervals for the mean of BMI" and not "confidence intervals for BMI".
Is that what you want, confidence intervals for the mean of BMI? Since you do not show the mean in your table, I find this very confusing. Wouldn't including the mean in your table be a good thing to do?
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
For SAS newbies, this video is a great way to get started. James Harroun walks through the process using SAS Studio for SAS OnDemand for Academics, but the same steps apply to any analytics project.
Find more tutorials on the SAS Users YouTube channel.