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: Finding duplicate values across different variables
From 
 
Michael Goodwin <[email protected]> 
To 
 
[email protected] 
Subject 
 
st: Finding duplicate values across different variables 
Date 
 
Mon, 10 Mar 2014 11:04:10 -0400 
I have a social network dataset consisting of two ID variables (source and
target) and a number of indicators (ind1, ind2, ind3). The data looks like
this:
source            target            ind1   ind2   ind3
company1      company2      1       0       0
company3      company5      0       1       0
company2      company1      1       1       0
company5      company3      1       1       1
My goal is to 1) consolidate any observations where the combination of
source and target is equal (even where they aren't duplicates in the
traditional Stata sense, such as observations 1 and 3 or 2 and 4 above);
and 2) make the source and target of the consolidated observation equal to
the source and target of whichever observation had a higher rowtotal of the
indicators (so observations 3 and 4 would remain).
Thus far, my approach has been to create a concatenation of source and
target and, in a loop, flag all instances where
source+target==target+source elsewhere in the dataset.
gen orig = source+target;
gen new = target+source;
gen temp = .;
local max = _N;
egen count = rowtotal(ind*);
forv num = 1/`max' {;
replace temp = 1 if orig==new[`num'];
};
I still haven't been able to figure out how to sort the resulting dataset
in such a way that I can easily consolidate the observations based on the
count variable. Any thoughts you have would be much appreciated. Thanks in
advance.
Best,
Mike
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/