See also for related technique
SJ-8-4 dm0043 . Tip 71: The problem of split identity, or how to group
dyads
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N.
J. Cox
Q4/08 SJ 8(4):588--591 (no
commands)
tip on how to handle dyadic identifiers
Nick
[email protected]
Martin Weiss
clear*
input byte(Person1_id ClosestPerson Person1_age)
1 2 10
2 1 20
3 1 30
4 3 40
end
gen lower=min( Person1_id, ClosestPerson)
gen upper=max( Person1_id, ClosestPerson)
bys lower upper ( Person1_age): gen byte dup=!(_N==1)
by lower upper ( Person1_age): replace dup=2 if _n==_N &dup!=0
l, noo
Vitorino, Maria Ana
I was wondering if there was a relatively simple way to achieve the
following:
My data looks like this:
Person1_id ClosestPerson Person1_age
1 2 10
2 1 20
3 1 30
4 3 40
...
What I would like to do is to signal "duplicate" rows for which Person1
is
the oldest. Since this is hard to explain, the resulting data would be
for
the example above:
Person1_id ClosestPerson Person1_age dup
1 2 10
1
2 1 20
2
3 1 30
0
4 3 40
0
...
Note that the column dup has the following coding:
dup=1 if there is another pair of ppl identical to the one in this row
and
Person1 is the youngest of the pair
dup=2 if there is another pair of ppl identical to the one in this row
and
Person1 is the oldest of the pair
dup=0 if there is no other pair of ppl identical to the one in this row
*
* 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/