Bookmark and Share

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, is already up and running.

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

Re: st: Quintiles

From   Austin Nichols <>
Subject   Re: st: Quintiles
Date   Thu, 9 Aug 2012 14:00:23 -0400

Leonardo Jaime Gonzalez Allende <>:
Try this example out:

sysuse auto, clear
keep price weight
ren price y
sort y
g s=sum(weight)
g c=(s)/(s[_N])
g qbreak=0
g w2=.
qui foreach l in 20 40 60 80 {
 replace qbreak=1 if c>=`l'/100 & c[_n-1]<`l'/100
 replace w2=s-(`l'/100*s[_N]) if c>=`l'/100 & c[_n-1]<`l'/100
g w1=weight-w2
g id=_n
expand 2 if w2<.
g wt=weight
bys id: replace wt=w1 if _n==1 & w1<.
by id: replace wt=w2 if _n==2
g sum=sum(wt)
g cum=sum/sum[_N]
l if qb==1

On Wed, Aug 8, 2012 at 3:44 PM, Leonardo Jaime Gonzalez Allende
<> wrote:
> Yes, Maarten, you are right, sorry for writing you directly.
> I don't was planning to cut a person or household in many parts. The question was about a possible adjustment to the weight factor, if the observation of the sample is the cut point of the quintile.
> If I sort the households of a sample by their incomes, a household "x" could represents 300 households but the accumulated frequency of the population is e.g. 20,02%.
> My question was if there is an efficient way (command) to repeat the observation and adjust weight factor as follow:
> the same household "xa" now represents 280 households and now the accumulated frequency of the population is e.g. 20% (exactly) (leaving to the first quintile).
> the same household "xb" (the other part) represents 20 households accumulating a frequency of 20,02% of the population (changing to the second quintile this part).
> Regards,
> Leonardo
> -----Mensaje original-----
> De: Maarten Buis []
> Enviado el: Miércoles, 08 de Agosto de 2012 12:41
> Para:
> Asunto: Re: st: Quintiles
> --- Leonardo Jaime Gonzalez Allende asked:
>>>> I'm trying to divide a sample of households (expanded)
>>>> into quintiles using the xtile command. I want to create
>>>> 5 groups with the exactly same quantity of population,
>>>> but using the xtitle command, the quantity of households
>>>> in each quintil is very slightly different to 20% when the
>>>> number of observations isn't exactly dividable by 5.
>>>> Do you know any command to divide the population
>>>> (sample expanded) into 5 groups of exactly same weight?
> --- I answered:
>>> That is logically impossible.
> -- Leonardo Jaime Gonzalez Allende wrote me privately:
>> sorry for write you directly, but I like to know, why is
>> logically impossible separate the population (by
>> incomes) in 5 groups of the same weith?
> Don't sent such follow-up questions privately. If you find my answer
> puzzling, than chances are that someone else who is following this
> discussion finds that too. This is explained in the Statalist FAQ.
> Think of it this way: How can you divide 6 persons in 5 equally sized
> groups? You could assign one person to each group, and than you are
> left with one person. If you could split the remaining 1 person up
> into 5 1/5th persons, than we could create 5 equally sized groups.
> However, that is impossible (or rather bloody, if we take that too
> literally). So given the inherently discrete nature of the number of
> observations you cannot divide your data up into 5 groups of exactly
> the same size if the number of observations in not dividable by 5.
> -- Maarten

*   For searches and help try:

© Copyright 1996–2015 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index