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

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

From |
Yuval Arbel <yuval.arbel@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: How to Calculate A Variable of Maximum Values up to each of the 114 periods in my sample? |

Date |
Fri, 14 Dec 2012 19:25:00 +0200 |

Thanks very much Nick and Ryan. Ryan's set of two commands worked fine On Fri, Dec 14, 2012 at 7:19 PM, Nick Cox <njcoxstata@gmail.com> wrote: > Getting the maximum so far is an FAQ on the Stata website. See also a > function in -egenmore- (SSC). > > Nick > > > On 14 Dec 2012, at 16:53, Yuval Arbel <yuval.arbel@gmail.com> wrote: > >> Dear Statalisters, >> >> I am trying to generate a variable, which will give me the maximum >> value of another variable (reduct_per) up to each of the 114 periods >> in my sample. >> >> Note that the function -max- works only with -egen-, namely it creates >> a constant maximum, and not a running maximum.. >> >> I therefore wrote the following set of commands: >> >> by appt: egen y=max(reduct_per) >> by appt: gen max=reduct_per if time_index==0 >> by appt: replace max=reduct_per if reduct_per==y >> by appt: replace max=reduct_per[_n-1] if reduct_per<=reduct_per[_n-1] >> & max==. & time_index==1 >> by appt: replace max=reduct_per if max==. & time_index==1 >> >> by appt: replace max=max[_n-1] if reduct_per<=max[_n-1] & max==. & >> time_index==2 >> by appt: replace max=reduct_per if max==. & time_index==2 >> >> by appt: replace max=max[_n-1] if reduct_per<=max[_n-1] & max==. & >> time_index==3 >> by appt: replace max=reduct_per if max==. & time_index==3 >> >> by appt: replace max=max[_n-1] if reduct_per<=max[_n-1] & max==. & >> time_index==4 >> by appt: replace max=reduct_per if max==. & time_index==4 >> >> by appt: replace max=max[_n-1] if reduct_per<=max[_n-1] & max==. & >> time_index==5 >> by appt: replace max=reduct_per if max==. & time_index==5 >> >> by appt: replace max=max[_n-1] if reduct_per<=max[_n-1] & max==. & >> time_index==6 >> by appt: replace max=reduct_per if max==. & time_index==6 >> >> and so on. My question is whether there is a more elegant way to >> generate this variable. More specifically I would like to know >> whether I need to write a loop, and if so how would I write it so that >> I don't have to repeat the last two commands for 114 > > * > * 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/ -- Dr. Yuval Arbel School of Business Carmel Academic Center 4 Shaar Palmer Street, Haifa 33031, Israel e-mail1: yuval.arbel@carmel.ac.il e-mail2: yuval.arbel@gmail.com * * 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/

**References**:**st: How to Calculate A Variable of Maximum Values up to each of the 114 periods in my sample?***From:*Yuval Arbel <yuval.arbel@gmail.com>

**Re: st: How to Calculate A Variable of Maximum Values up to each of the 114 periods in my sample?***From:*Nick Cox <njcoxstata@gmail.com>

- Prev by Date:
**st: RE: Creating Dummy variables with names from underlying variables** - Next by Date:
**Re: st: Creating Dummy variables with names from underlying variables** - Previous by thread:
**Re: st: How to Calculate A Variable of Maximum Values up to each of the 114 periods in my sample?** - Next by thread:
**st: Modeling a question with unusual panel data** - Index(es):