- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
You'd have to do the manual calculations using the formula. Why not use proc means instead?
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
I don't know how to do a weighted average in proc means. Can you provide an example?
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
And don't forget proc univariate