Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Nick Cox <njcoxstata@gmail.com> |
To | statalist@hsphsun2.harvard.edu |
Subject | Re: st: programming loops efficiently |
Date | Wed, 14 Nov 2012 10:10:02 +0000 |
See the thread starting http://www.stata.com/statalist/archive/2012-10/msg00919.html for both general and specific advice. Nick On Wed, Nov 14, 2012 at 9:53 AM, Breeze, Elizabeth <e.breeze@ucl.ac.uk> wrote: > I am creating some variables and I am sure that my syntax is needlessly long where there is a repeat pattern to the commands. > > I have variables Vh01-Vh25 which give the number of hours worked by persons number 01-25 respectively. > I want to find which person worked maximum hours and what that maximum was > egen maxhr = rowmax(Vh01-Vh25) gives me the maximum number of hours > > Is there a quick way to find the person number with the max no. hours by taking advantage of those last two digits of Vh01-Vh25? > I can do it with many lines of syntax but am sure there must be a neater way using some form of loop. > Each record in the dataset concerns one interviewee and persons 01-25 are people who work for the interviewee > > A further complication is that more than one person may work that maximum number of hours. > > Also is there an equivalent to rowmax that gives the second to largest value in the series? > > Grateful for any tips. I am not a programmer * * 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/