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 |
Nick Cox <njcoxstata@gmail.com> |

To |
"statalist@hsphsun2.harvard.edu" <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 17:19:57 +0000 |

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/

**Follow-Ups**:**Re: 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>

**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>

- Prev by Date:
**st: Creating Dummy variables with names from underlying variables** - Next by Date:
**st: RE: 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:
**Re: st: How to Calculate A Variable of Maximum Values up to each of the 114 periods in my sample?** - Index(es):