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]

From |
"Radwin, David" <[email protected]> |

To |
<[email protected]> |

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: [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/

**Follow-Ups**:**Re: st: RE: Dividing data into quintiles***From:*Clarice Martins <[email protected]>

**References**:**st: Dividing data into quintiles***From:*Clarice Martins <[email protected]>

**st: RE: Dividing data into quintiles***From:*"Radwin, David" <[email protected]>

**Re: st: RE: Dividing data into quintiles***From:*Clarice Martins <[email protected]>

**Re: st: RE: Dividing data into quintiles***From:*Nick Cox <[email protected]>

- Prev by Date:
**Re: st: RE: Dividing data into quintiles** - Next by Date:
**st: RE: omitted constant with ivregress 2sls but not with ivregress gmm or ivreg** - Previous by thread:
**Re: st: RE: Dividing data into quintiles** - Next by thread:
**Re: st: RE: Dividing data into quintiles** - Index(es):