Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: collapse with multiple sets of weights
From
Scott Merryman <[email protected]>
To
[email protected]
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
<[email protected]> 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/