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]
Re: st: RE: RE: Transform source table to edgelist (or nodelist)
From
Steve Sauerwald <[email protected]>
To
[email protected]
Subject
Re: st: RE: RE: Transform source table to edgelist (or nodelist)
Date
Mon, 20 Feb 2012 20:12:21 -0600
Thanks Robert. The code example you provided works great!
On Mon, Feb 20, 2012 at 10:34 AM, Robert Picard <[email protected]> wrote:
>
> A list of all connected managers can be generated directly using the
> -joinby- command:
>
> *----------- begin example -------------
> version 12
>
> clear
> input fid str1 mid
> 1 A
> 1 B
> 1 C
> 2 A
> 2 B
> 2 D
> end
>
> tempfile main
> save "`main'"
>
> * within each firm, form all pairwise combinations of managers
> use "`main'"
> rename mid mid2
> joinby fid using "`main'"
> list fid mid mid2, noobs sepby(mid2)
>
> * reduce to connected managers list
> sort mid mid2
> by mid mid2: keep if _n == 1
> drop if mid2 <= mid
> list mid mid2, noobs sepby(mid)
> tempfile connect
> save "`connect'"
>
> * to get a complete list of all possibilities
> * form all pairwise combinations of managers
> use "`main'", clear
> keep mid
> sort mid
> by mid: keep if _n == 1
> tempfile mgrs
> save "`mgrs'"
> rename mid mid2
> cross using "`mgrs'"
> sort mid mid2
> list mid mid2, noobs sepby(mid)
> drop if mid2 <= mid
>
> * final list
> merge 1:1 mid mid2 using "`connect'"
> gen connect = _merge == 3
> sort mid mid2
> list mid mid2 connect, noobs sepby(mid)
> *------------ end example --------------
>
>
>
> On Mon, Feb 20, 2012 at 7:25 AM, Nick Cox <[email protected]> wrote:
> > Sorry, no; that's a different problem.
> >
> > Nick
> > [email protected]
> >
> >
> > -----Original Message-----
> > From: [email protected] [mailto:[email protected]] On Behalf Of Nick Cox
> > Sent: 20 February 2012 10:54
> > To: '[email protected]'
> > Subject: st: RE: Transform source table to edgelist (or nodelist)
> >
> > This looks like an FAQ
> >
> > http://www.stata.com/support/faqs/data/pairs.html
> >
> > although I suspect there is a less clumsy way to approach it.
> >
> > Nick
> > [email protected]
> >
> > Steve Sauerwald
> >
> > I have a source table that contains manager/firm information. A
> > manager can work for M companies and a company can have N managers.
> > For instance, the following table shows 2 firms (FID 1 and 2) and four
> > managers (MID A, B, C, and D).
> >
> > FID MID
> > 1 A
> > 1 B
> > 1 C
> > 2 A
> > 2 B
> > 2 D
> >
> > Now, I'd like to create the interlocking relationships between managers. If
> > two managers work together in the same firm (or in more than one
> > firm), this would indicate a "1." If not, a "0." The end result should
> > be an adjacency matrix but I'd be happy to get to an edgelist first
> > such as the following:
> >
> > MID1 MID2 CONNECT
> > A B 1
> > A C 1
> > A D 1
> > B C 1
> > B D 1
> > C D 0
> >
> > Based on the information in the source table, manager C and manager D
> > are not connected in either firm 1 or 2, hence the 0. My actual source
> > table contains quite a few records so it would be great to automate
> > this process. Does anyone have an idea of how to implement this in
> > Stata?
> >
> > Alternatively, the UCLA Stata website
> > (http://www.ats.ucla.edu/stat/stata/code/adj_matrix.htm) shows some
> > code to transform a nodelist into an adjacency matrix (If someone
> > knows a way to transform my source table into a nodelist, that'd be
> > also a great help).
> >
> >
> > *
> > * 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/
*
* 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/