# st: RE: Why can't I egen means with pweights?

 From "Nick Winter" To Subject st: RE: Why can't I egen means with pweights? Date Wed, 23 Apr 2003 13:24:00 -0400

```> -----Original Message-----
> From: Laura Schechter [mailto:schechte@are.Berkeley.EDU]
> Sent: Wednesday, April 23, 2003 12:50 PM
> To: statalist@hsphsun2.harvard.edu
> Subject: st: Why can't I egen means with pweights?
>
>
> Hi,
>    I have been trying to program a specific bootstrap in
> stata, and need
> to use the weighted means of certain variables over time.
> Unfortunately,
> it seems to me that the egen command doesn't work with
> weights. For now, I
> have just been using the series of commands
>    svymean varname [pweight=x], by(month)
>    matrix e=e(est)
>    generate ET=el(e,1,1) if month==1
>    replace ET=el(e,1,2) if month==2
>       etc. etc. etc.
> But this is really slow, and it would be so convenient if the
> egen command
> would work with weights so I could just say something like
>     egen ET=mean(varname) [pweight=x], by(month)
> Does anyone know a way of doing this??
>       Thank you so so much!
>           Laura (Schechter) (from UC Berkeley)

I don't think there is a preprogrammed thing for this (although Nick Cox
may prove me wrong), but you can do this yourself fairly easily:

. sort month
. by month: gen ET = sum(varname*wgt) / sum(wgt)
. by month: replace ET=ET[_N]

Remembering that the weighted mean is simply the sum of the (variable
times the weight) divided by the sum of the weights.  The second line
creates the "running" mean within month, the third line replaces the
weighted mean for all observations with the final one for each month,
which is the overall weightd mean for the month.

Nick Winter

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```