Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

RE: st: creating a variable using -if-? programming needed?


From   "n.j.cox@durham.ac.uk" <n.j.cox@durham.ac.uk>
To   "statalist@hsphsun2.harvard.edu" <statalist@hsphsun2.harvard.edu>
Subject   RE: st: creating a variable using -if-? programming needed?
Date   Fri, 16 May 2008 07:36:45 -0700

Using the same assumption of a Noah's ark situation in which everyone is
paired off, with no dependents, in-laws, etc., there are other minor
variations on Scott's theme.

bysort site family: gen partner_income = cond(_n == 1, personal[2],
personal[1])

bysort site family: gen partner_income = personal[3 - _n]

I am fond of the second. If it looks puzzling, just go through the two
cases. If _n is 1, then 3 - _n is 2, and vice versa.

The key underlying principle, if it is not familiar, is that under -by:-
_n is interpreted within groups, not within the entire dataset. There is
a leisurely tutorial
at

<http://www.stata-journal.com/sjpdf.html?articlenum=pr0004>

N.B. this is in the public domain.

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

Scott Merryman

What defines a partner?  Someone within the same two-person family?

Perhaps something like this:

clear
input site family person personal_labor_income
 1       1            1        2000
 1       1            2        2300
 1       2            1        200
 1       2            3        3000
 2       10           4        3400
 2       10           5        3500
end

bysort site family : gen partner_income = cond(_n ==1,
personal[_n+1],personal[_n-1])

Ekaterina Selezneva

> I have a dataset with some information on a sample of married
>  couples. For identifying a single person, one needs to know a
>  "site"-number, "family"-number withing the site, and then the
>  "person"-number within the family. As this is a subsample of some
>  bigger dataset, so not all sites/families/persons are presented in
>  it. Let's say, something like:
>
>  site    family       person   personal_labor_income
>  1       1            1        2000
>  1       1            2        2300
>  1       2            1        200
>  1       2            3        3000
>  2       10           4        3400
>  2       10           5        3500
>
>  THE PROBLEM: I need to create a variable containing the "personal
>  labor income" of partner.
>
>  Unfortunately, I've spent a day, and havn't
>  succeded to solve this seemingly simple problem. I will be grateful
for
>  any hints.

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

_____________________________________________________________________
Mensaje analizado y protegido por Telefonica Empresas
*
*   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/

Privileged, confidential or patient identifiable information may be contained in this message. This information is meant only for the use of the intended recipients. If you are not the intended recipient, or if the message has been addressed to you in error, do not read, disclose, reproduce, distribute, disseminate or otherwise use this transmission. Instead, please notify the sender by reply e-mail, and then destroy all copies of the message and any attachments.

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