Bookmark and Share

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: RE: Dividing data into quintiles


From   Clarice Martins <[email protected]>
To   [email protected]
Subject   Re: st: RE: Dividing data into quintiles
Date   Mon, 28 Oct 2013 19:57:34 -0200

Thank you both... and my apologies...

It did work.. perfectly!!! (both versions)

I was running from the do-file and it was not running... (???)
Once i actually copied on the command area, to create the screen output to sent you guys, boom... it ran... 

Thanks again!!


On Oct 28, 2013, at 7:52 PM, Radwin, David wrote:
> 
> 
>> -----Original Message-----
>> From: [email protected] [mailto:owner-
>> [email protected]] On Behalf Of Nick Cox
>> Sent: Monday, October 28, 2013 2:50 PM
>> To: [email protected]
>> Subject: Re: st: RE: Dividing data into quintiles
>> 
>> Here is a tweak of David's code. I have not tested this, but I can see
>> two problems with his code. The -replace- should be restricted to the
>> observations it was calculated for; otherwise you overwrite good
>> values with missings. I would not create a new temporary variable each
>> time round the loop.
>> 
>> gen quintile = .
>> quietly levelsof yrmonth, local(levs)
>> 
>> quietly foreach lev of local levs {
>>         xtile work = return if rtype=="formation" & yrmonth ==
> "`lev'",
>> n(5)
>>         replace quintile = work if rtype=="formation" & yrmonth ==
>> "`lev'"
>>         drop work
>> }
>>> 
>> Nick
>> [email protected]
>> 
>> 
>> On 28 October 2013 21:33, Clarice Martins <[email protected]>
>> wrote:
>>> Hello David, hello all!!
>>> 
>>> I believe you understood correctly!  Thank you for your suggestion!
>>> 
>>> But forgive me, if I am totally off, I am very new with Stata: I
> think I
>> understood your code, but after creating the variable quintile, this
> one
>> was kept empty. Should I see values recorded on that? Or the results
> of
>> the code are stored virtually?   (sorry! very basic question!)
>>> 
>>> In my research, the next step will use returns for the companies in
> the
>> 1st and 5th quintile of each  -rtype=="formation" & yrmonth ==
> "`lev'"-
>> for calculations, so I do need to have available these quintiles
>> (specifically 1st and 5th) for next step.
>>> 
>>> Thank you!!
>>> Clarice
>>> 
>>> 
>>> 
>>> On Oct 28, 2013, at 4:58 PM, Radwin, David wrote:
>>> 
>>>> Clarice,
>>>> 
>>>> If I understand correctly, you merely need to loop through each
> value
>> of yrmonth and calculate quintiles for observations with that value
> for
>> yrmonth. But you can't generate a new variable 151 times.
>>>> 
>>>> So you could do something this that creates quintiles for a
> temporary
>> variable:
>>>> 
>>>> gen quintile = .
>>>> quietly levelsof yrmonth, local(levs)
>>>> foreach lev of local levs {
>>>>      tempvar quint
>>>>      xtile `quint' = return if rtype=="formation" & yrmonth ==
>> "`lev'", n(5)
>>>>      replace quintile = `quint'
>>>>      }
>>>> 
>>>> 
>>>> David
>>>> --
>>>> David Radwin
>>>> Senior Research Associate
>>>> Education and Workforce Development Division
>>>> RTI International
>>>> 2150 Shattuck Ave., Suite 800
>>>> Berkeley, CA 94704
>>>> Phone: 510-665-8274
>>>> 
>>>> www.rti.org
>>>> 
>>>> 
>>>>> -----Original Message-----
>>>>> From: [email protected] [mailto:owner-
>>>>> [email protected]] On Behalf Of Clarice Martins
>>>>> Sent: Monday, October 28, 2013 11:39 AM
>>>>> To: [email protected]
>>>>> Subject: st: Dividing data into quintiles
>>>>> 
>>>>> Dear group,
>>>>> 
>>>>> I need to select a sub-group of my dataset and cut it into
> quintiles,
>> in
>>>>> order to proceed with calculations with top and bottom quintile.
>>>>> 
>>>>> - I use Stata 12.1 (for Mac)
>>>>> 
>>>>> - my data looks like this (now, after considerations from the
> group,
>> thank
>>>>> you!)
>>>>> 
>>>>> co_id ticker rtype   yrmonth return
>>>>> 1 ABCB formation jun2000 0.01
>>>>> 1 ABCB buysell jul2000 0.01
>>>>> 1 ABCB holding ago2000 0.01
>>>>> 2 AEDU formation jun2000 0.01
>>>>> 2 AEDU buysell jul2000 0.01
>>>>> 2 AEDU holding ago2000 0.01
>>>>> 3 AMBV formation jun2000 0.01
>>>>> 3 AMBV buysell jul2000 0.01
>>>>> 3 AMBV holding ago2000 0.01
>>>>> 
>>>>> - i tryed both -egen cut- and -xtile-
>>>>> 
>>>>> egen quintile = cut(return) if rtype=="formation", group(5)
>>>>> 
>>>>> xtile quintile=return if rtype=="formation", n(5)
>>>>> 
>>>>> - when I use -if rtype=="formation"- both commands work fine!
>>>>> 
>>>>> - But, I need to select all observations rtype=="formation"  AND
>>>>> yrmonth=="jun2000", then cut this subgroup into quintiles
>>>>> 
>>>>> - Then, I need to proceed with this filter/select and cut, for
> every
>>>>> yrmonth (151 periods) on my data set
>>>>> 
>>>>> Any suggestions?
>>>>> 
>>>>> Thank you very much!
>>>>> 
>>>>> Clarice
>>>> 
>>>> 
>>>> *
>>>> *   For searches and help try:
>>>> *   http://www.stata.com/help.cgi?search
>>>> *   http://www.stata.com/support/faqs/resources/statalist-faq/
>>>> *   http://www.ats.ucla.edu/stat/stata/
>>> 
>>> 
>>> *
>>> *   For searches and help try:
>>> *   http://www.stata.com/help.cgi?search
>>> *   http://www.stata.com/support/faqs/resources/statalist-faq/
>>> *   http://www.ats.ucla.edu/stat/stata/
>> 
>> *
>> *   For searches and help try:
>> *   http://www.stata.com/help.cgi?search
>> *   http://www.stata.com/support/faqs/resources/statalist-faq/
>> *   http://www.ats.ucla.edu/stat/stata/
> 
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/faqs/resources/statalist-faq/
> *   http://www.ats.ucla.edu/stat/stata/


*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index