Bookmark and Share

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/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index