Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
st: RE: RE: Assigning sex by order of birth
From
"Martin Weiss" <[email protected]>
To
<[email protected]>
Subject
st: RE: RE: Assigning sex by order of birth
Date
Sun, 14 Mar 2010 16:36:19 +0100
<>
BTW, the setup for your variable "sex" may be different, so let me give you a version of my code assuming you do not have a labelled numeric variable, but a string:
*************
clear*
inp byte(Family age_child) str6 sex
1 12 male
1 5 female
1 2 female
2 9 female
2 7 female
2 4 male
2 1 female
3 2 male
3 5 male
end
bys Family (age_child): gen byte Boy1st=(_n==1)*(sex=="male")
by Family (age_child): gen byte Girl1st=(_n==1)*(sex=="female")
by Family (age_child): gen byte Boy2nd=(_n==2)*(sex=="male")
by Family (age_child): gen byte Girl2nd=(_n==2)*(sex=="female")
l, sepby(Family ) noo
*************
You could of course -encode- to get a labelled var.
For my earlier code the tricks in http://www.stata-journal.com/sjpdf.html?articlenum=dm0009 may make your life easier :-)
HTH
Martin
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Martin Weiss
Sent: Sonntag, 14. März 2010 16:23
To: [email protected]
Subject: st: RE: Assigning sex by order of birth
<>
*************
clear*
inp byte(Family age_child sex:mylabel), auto
1 12 male
1 5 female
1 2 female
2 9 female
2 7 female
2 4 male
2 1 female
3 2 male
3 5 male
end
bys Family (age_child): gen byte Boy1st=(_n==1)*(sex==1)
by Family (age_child): gen byte Girl1st=(_n==1)*(sex==2)
by Family (age_child): gen byte Boy2nd=(_n==2)*(sex==1)
by Family (age_child): gen byte Girl2nd=(_n==2)*(sex==2)
l, sepby(Family ) noo
*************
HTH
Martin
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Cinzia Rienzo
Sent: Sonntag, 14. März 2010 15:47
To: stata ??
Subject: st: Assigning sex by order of birth
Dear All,
I have some difficulties in creating variables for children in the
family accounting for their sex and order of birth; in other words I
want to create the following variables:
“Boy1st” if First child born is male;
“Girl1st” if First child born is female
“boy2nd” if Second child born is male
“girl2nd” if Second child born is female and so on.
I tried with the “egen rank” to create order using the reverse of the
age of children in families:
bysort year family: g agechil=age if member ==”child”
bysort year family: g agechil reversed= agechil*-1
bysort year serial : egen rank_var = rank(agechil reversed)
But when I Tab the rank it gives me: 1; 1.5 ; 2; 2.5; 3; 3.5…..
My question is: How can I assign the sex by order of birth in families
using the rank given that the age of first child and numbers of
children vary by families?
As in the example below the first child in family 1 is 12 year old and
the first child in family 2 is 9.
Family age of child sex
1 12 male
1 5 female
1 2 female
2 9 female
2 7 female
2 4 male
2 1 female
I appreciate any helps and/or suggestions.
Best
Cinzia
------
Cinzia
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/