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;
You'd have to do the manual calculations using the formula. Why not use proc means instead?
I don't know how to do a weighted average in proc means. Can you provide an example?
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.
And don't forget proc univariate
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.