How about using merge:
keep hhid lineno age
rename lineno mlineno
rename age mage
sort hhid mlineno
save lookup
use master
sort hhid mlineno
merge hhid mlineno using lookup, nokeep
I haven't tested this, but something like it should work and should be very
fast.
Michael Blasnik
[email protected]
----- Original Message -----
From: "Friedrich Huebler" <[email protected]>
To: <[email protected]>
Sent: Wednesday, September 15, 2004 12:24 PM
Subject: st: Re: How to speed up loop
> I appreciate the responses that I received so far but realize that my
> initial message was not precise enough.
>
> The variable mlineno lists the line number of a household member's
> mother. In household 1 in my example data, household member 2 is the
> mother of household member 3. In household 2, 1 is the mother of 2,
> and 3 is the mother of 4 and 5. I would like to create a variable
> that lists the age of each household member's mother. The result
> should look like this:
>
> hhid lineno age mlineno mage
> 1 1 32 . .
> 1 2 30 . .
> 1 3 5 2 30
> 2 1 68 . .
> 2 2 41 1 68
> 2 3 40 . .
> 2 4 17 3 40
> 2 5 14 3 40
>
> The loop that I am using to create the variable mage works perfectly
> but it is very slow with a large number of observations.
>
> Friedrich
>
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/