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   "Radwin, David" <dradwin@rti.org>
To   <statalist@hsphsun2.harvard.edu>
Subject   RE: st: RE: Dividing data into quintiles
Date   Mon, 28 Oct 2013 17:52:14 -0400

Yes, of course. Thanks for the correction, Nick.

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: owner-statalist@hsphsun2.harvard.edu [mailto:owner-
> statalist@hsphsun2.harvard.edu] On Behalf Of Nick Cox
> Sent: Monday, October 28, 2013 2:50 PM
> To: statalist@hsphsun2.harvard.edu
> 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
> njcoxstata@gmail.com
> 
> 
> On 28 October 2013 21:33, Clarice Martins <martins.clarice@gmail.com>
> 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: owner-statalist@hsphsun2.harvard.edu [mailto:owner-
> >>> statalist@hsphsun2.harvard.edu] On Behalf Of Clarice Martins
> >>> Sent: Monday, October 28, 2013 11:39 AM
> >>> To: statalist@hsphsun2.harvard.edu
> >>> 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/


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