Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down on April 23, and its replacement, **statalist.org** is already up and running.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
Scott Merryman <scott.merryman@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: collapse with multiple sets of weights |

Date |
Thu, 12 Apr 2012 10:55:00 -0500 |

Normalize the weights to sum to n and rescale population so the weighting cancels out: clear input pop avgwage 10 20 20 10 40 30 end egen double w=total(pop) replace w=3*pop/w gen double pop2 =pop/w^2 collapse (sum) pop2 (mean) avgwage [w=w] l Scott On Thu, Apr 12, 2012 at 10:05 AM, Dimitriy V. Masterov <dvmaster@gmail.com> wrote: > I am trying to aggregate some spatial data. Here's a simplified > version of my problem. I have two variables, average wage and > population, in three areas. I would like to sum the population, but > calculate a weighted mean of the average wage. Is there a way to do > this in one step using collapse? > > For example, the following code gets the mean right, but the population "wrong": > set obs 3; > input > pop avgwage; > 10 20; > 20 10; > 40 30; > egen double w=total(pop); > replace w=pop/w; > collapse (sum) pop (mean) avgwage [w=w]; > > I would like to see 70, not 90. > > Is there a collapse-like command where I apply the weight only to the > mean calculation? I suppose I could do this in two collapse steps, but > that seems clunky. > > DVM * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

**Follow-Ups**:**Re: st: collapse with multiple sets of weights***From:*"Dimitriy V. Masterov" <dvmaster@gmail.com>

**References**:**st: collapse with multiple sets of weights***From:*"Dimitriy V. Masterov" <dvmaster@gmail.com>

- Prev by Date:
**st: van der Waerden transformation** - Next by Date:
**Re: st: Bug with date(.,.) function?** - Previous by thread:
**st: collapse with multiple sets of weights** - Next by thread:
**Re: st: collapse with multiple sets of weights** - Index(es):