Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: RE: looping over observations -mata-?


From   "Nick Cox" <n.j.cox@durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   st: RE: looping over observations -mata-?
Date   Thu, 13 Oct 2005 13:00:28 +0100

In addition to other replies: see also 
families of problems discussed at 

How do I create variables summarizing for each
individual properties of the other members of a group?
http://www.stata.com/support/faqs/data/members.html

How do I create a variable recording whether any
members of a group (or all members of a group)
possess some characteristic?
http://www.stata.com/support/faqs/data/anyall.html

Nick 
n.j.cox@durham.ac.uk 

Ricardo Ovaldia
 
> I have household data with one observation per family
> member. All House hold have one or both parents and
> anywhere from 1 to seven children. All households have
> children but no grandparents or other relatives. Here
> are a few tipical observations and relevant variables:
> 
> . cl  familyid subjid relation
> 
>      familyid    subjid   relation
>   1.     1001         1          f
>   2.     1001         2          m
>   3.     1001         3          c
>   4.     1001         4          c
>   5.     1002         1          m
>   6.     1002         2          c
>   7.     1002         3          c
>   8.     1003         1          m
>   9.     1003         2          f
>  10.     1003         3          c
> 
> where for -relation-: f=father, m=mother and c=child
> 
> I want to create two new variables which hold, for the
> children, their parent's -subjectid-  as follows:
> 
>      familyid    subjid   relation  fatherid  motherid
>   1.     1001         1          f         .         .
>   2.     1001         2          m         .         .
>   3.     1001         3          c         1         2
>   4.     1001         4          c         1         2
>   5.     1002         1          m         .         .
>   6.     1002         2          c         .         2
>   7.     1002         3          c         .         2
>   8.     1003         1          m         .         .
>   9.     1003         2          f         .         .
>  10.     1003         3          c         2         1
> 
> I wrote a program to do this but is very slow because
> it loops over observations. 
> I think that if I recode this using -mata- it would be
> faster, but I not sure where to begin. Any assistance
> or suggestions will be greatly appreciated.

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



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index