DATA Step, Macro, Functions and more

Confidence interval for Geometric_Mean in Proc Mean

Accepted Solution Solved
Reply
Regular Contributor
Posts: 210
Accepted Solution

Confidence interval for Geometric_Mean in Proc Mean

[ Edited ]

Hi all,

 


Accepted Solutions
Solution
‎02-08-2018 10:25 AM
Super User
Posts: 23,224

Re: Confidence interval for Geometric_Mean in Proc Mean

Posted in reply to DmytroYermak
You just need to add uclm and lclm to your list of statistics in Proc means.

View solution in original post


All Replies
Super User
Posts: 10,679

Re: Confidence interval for Geometric_Mean in Proc Mean

Posted in reply to DmytroYermak
proc surveymeans data=sashelp.class geomean gmclm allgeo;
var weight;
run;
Super User
Super User
Posts: 9,376

Re: Confidence interval for Geometric_Mean in Proc Mean

[ Edited ]
Posted in reply to DmytroYermak

Use alpha and uclm lclm:

proc means data=sashelp.class alpha=0.05;
 class sex;
 var height; 
 output out=want lclm=lclm uclm=uclm;
run;

For geometric, its just a matter of log()'ing values which are > 0 and using them in the proc means.

Solution
‎02-08-2018 10:25 AM
Super User
Posts: 23,224

Re: Confidence interval for Geometric_Mean in Proc Mean

Posted in reply to DmytroYermak
You just need to add uclm and lclm to your list of statistics in Proc means.
Regular Contributor
Posts: 210

Re: Confidence interval for Geometric_Mean in Proc Mean

Thank you! 

 

Here it is the final version:

 

ods output Summary = pretable3;
proc means data=pretable2 nmiss mean std cv min median max lclm uclm alpha=0.05;
 class PARAMN PARAMCD PARAM TRT01A;
 var QVAL LN_QVAL; 
run;


data pretable4 ; *** Putting values into character***;
  format Geom_mean_C Geom_cv_C Geom_LCLM_C Geom_UCLM_C $200.;
  set pretable3;
  NObs_C = put(NObs,8.0);
  QVAL_Mean_C = put(QVAL_Mean,8.3);
  QVAL_StdDev_C = put(QVAL_StdDev,8.4);
  QVAL_Min_C = put(QVAL_Min,8.2);
  QVAL_Median_C = put(QVAL_Median,8.3);
  QVAL_Max_C = put(QVAL_Max,8.2);
  if LN_QVAL_Mean ne . then do; Geom_mean_C = strip(put(exp(LN_QVAL_Mean),8.3)); Geom_LCLM_C = strip(put(exp(LN_QVAL_LCLM),8.3)); Geom_UCLM_C = strip(put(exp(LN_QVAL_UCLM),8.3));end;
  if LN_QVAL_StdDev ne . then do; Geom_cv_C   = strip(put((sqrt(exp(LN_QVAL_StdDev**2)-1))*100,8.4)); end;
  QVAL_CV_C = put(QVAL_CV,8.4);
run; *** end of Putting values into character***;
☑ This topic is solved.

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

Discussion stats
  • 4 replies
  • 228 views
  • 0 likes
  • 4 in conversation