helpplz
helpplz

Reputation: 1

I need help printing multiple confidence intervals in sas

I am being asked to provide summary statistics including corresponding confidence interval (CI) with its width for the population mean. I need to print 85% 90% and 99%. I know I can either use univariate or proc means to return 1 interval of your choice but how do you print all 3 in a table? Also could someone explain the difference between univariate, proc means and proc sql and when they are used?

This is what I did and it only printed 85% confidence.

proc means data = mydata n mean clm alpha = 0.01 alpha =0.1 alpha = 0.15;
var variable;

RUN;

Upvotes: 0

Views: 252

Answers (1)

gregor
gregor

Reputation: 304

To put all three values in one table you can execute your step three times and put the results in one table by using an append step. For shorter code and easier usage you can define a macro for this purpose.

%macro clm_val(TAB=, VARIABLE=, CONF=);
 proc means 
   data = &TAB. n mean clm 
   alpha = &CONF.;
   ods output summary=result;
   var &VARIABLE.;
 run;

 data result;
   length conf $8;
   format conf_interval percentn8.0;
   conf="&CONF.";
   conf_interval=1-&CONF.;
   set result;
 run;

 proc append data = result
             base = all_results;
 quit; 
%mend;

%clm_val(TAB=sashelp.class, VARIABLE=age, CONF=0.01);
%clm_val(TAB=sashelp.class, VARIABLE=age, CONF=0.1);
%clm_val(TAB=sashelp.class, VARIABLE=age, CONF=0.15);

The resulting table looks like this:

enter image description here

Upvotes: 0

Related Questions