Help using Base SAS procedures

Get proc SQL to produce 95% confidence interval

Reply
Occasional Contributor
Posts: 8

Get proc SQL to produce 95% confidence interval

I created SAS code using proc SQL to calculate a weighted mean by year.  My SAS code is below.  My weight variable is called bwght and I weight the variable called CPUE for each year.  This code produces the weighted mean by year and calls it bwghtedAverage.  However, I can't figure out how I an get proc sql to also provide me with the 95% confidence intervals for this mean.  Any help would be greatly appreciated.   

proc sql;

   title 'Weighted Averages';

   select Year, sum(CPUE*bwght)/sum(bwght) as bwghtedAverage

       from (select Year, CPUE,

                   case

                      when bwght gt 0 then bwght

                      else 0

                   end as bwght

               from CPUEdat)

      group by Year /*major_area_code*/;

quit;

Super User
Posts: 19,860

Re: Get proc SQL to produce 95% confidence interval

Posted in reply to elopomorph

You'd have to do the manual calculations using the formula. Why not use proc means instead?

Occasional Contributor
Posts: 8

Re: Get proc SQL to produce 95% confidence interval

I don't know how to do a weighted average in proc means.  Can you provide an example? 

Super User
Posts: 19,860

Re: Get proc SQL to produce 95% confidence interval

Posted in reply to elopomorph

Here's a good example of how and looking at the vardef option as well. 

Base SAS(R) 9.2 Procedures Guide

You'll still need to deal with the 0 or negative weights somehow before the proc.

Super User
Posts: 10,044

Re: Get proc SQL to produce 95% confidence interval

Posted in reply to elopomorph

And don't forget   proc univariate

Ask a Question
Discussion stats
  • 4 replies
  • 1006 views
  • 0 likes
  • 3 in conversation