Print

Print


***** To join INSNA, visit http://www.insna.org *****

igraph does a standard 1-mode projection and has really clean file input output. However, if you are interested in reweighting the projection in any way, then tnet provides. The only tedium is that tnet wants a very simple file format of numbered nodes like so: 

source,target,weight[optional]
1,4,1
2,5,1
etc...

But you can do a lot of nice metrics and weighting such as Newman's weighting, Dijkstra distance and two-mode centrality. 

However, the fact that you cannot use original names for the nodes is a bit tedious as you'll need to rematch these later on. 

sample code: 

library(tnet)
data <- read.table(file="YOURFILE.csv",sep=",",header=TRUE)
net <- as.tnet(data, type="weighted two-mode tnet")
neww <- projecting_tm(net, method="Newman")


Take care,
BERNiE 

Dr Bernie Hogan
Research Fellow, Oxford Internet Institute
University of Oxford
http://www.oii.ox.ac.uk/people/hogan/

On 18 Jul 2012, at 00:24, Jesse Michael Fagan wrote:

***** To join INSNA, visit http://www.insna.org *****
Richard,

This is a simple task in R - a free statistical package you could download.

I'm making some assumptions about the structure of your data, namely that it is two columns structure like so:

PersonID, Firm
001, ABC Corp.
001, Acme Inc.
002, ABC Corp.
etc.

If so, then you should be able to accomplish what you want with this code:

library(igraph)

# get the data
el <- read.csv("overlappingDirectors.csv")

# read it in as an edgelist
g <-  graph.edgelist(as.matrix(el))

# we need to define it as bipartite by adding a boollean type variable to the vertices
V(g)$type <- bipartite.mapping(g)$type

# for two-mode networks, the adjacency matrix is often called an incidence matrix
inc <- get.incidence(g)

# now output the matrix
write.csv(inc,"incidenceMat.csv")

Let me know if you run into any snags.

-Jesse

On Tue, Jul 17, 2012 at 4:56 PM, Dmitry Zinoviev <[log in to unmask]> wrote:
*****  To join INSNA, visit http://www.insna.org  *****

On Tue, Jul 17, 2012 at 6:33 PM, Sanjay Nayar <[log in to unmask]> wrote:
> ***** To join INSNA, visit http://www.insna.org *****
> Import the data as two-mode agent (director) x resource (firm) into ORA, and
> then fold the network into agent x agent single-mode.

As far as I understand, the two-mode matrix is exactly what he needs,
not what he has.

Richard, I can easily see how to do this in C++ (in fact, I even have
a piece of code just in front of me), but can't think of any other
tools. If this is a one-time conversion, send me your data, I will
convert it.

> ________________________________
> From: Richard Benton <[log in to unmask]>
> To: [log in to unmask]
> Sent: Thursday, July 12, 2012 1:27 PM
> Subject: [SOCNET] Constructing an agency matrix from node level data
>
> *****  To join INSNA, visit http://www.insna.org  *****
>
> Hello All,
> I'm looking for some advice on a method for transforming actor level
> data into an adjacency matrix.
> Specifically, I have data of firms and their directors and I'm trying
> to construct a 2-mode network of firms and shared directors. The data
> are organized so that each row is a director (with a unique ID that is
> consistent throughout the data) and a variable indicating their firm.
> So if Director A serves on the board of three firms he/she appears in
> the data three times, three separate rows, and the value of the firm
> variable is different for each appearance, indicating which firm they
> serve on. I'm trying to figure out a strategy for converting this into
> a 2-mode matrix. If anyone has any advice on this, or can recommend a
> resource for help in constructing matrices, I would greatly appreciate
> it.
> Thank you
>
> --
> Richard Benton
> Graduate Student and Instructor
> Department of Sociology and Anthropology
> North Carolina State University
>
> _____________________________________________________________________
> SOCNET is a service of INSNA, the professional association for social
> network researchers (http://www.insna.org). To unsubscribe, send
> an email message to [log in to unmask] containing the line
> UNSUBSCRIBE SOCNET in the body of the message.
>
>
> _____________________________________________________________________ SOCNET
> is a service of INSNA, the professional association for social network
> researchers (http://www.insna.org). To unsubscribe, send an email message to
> [log in to unmask] containing the line UNSUBSCRIBE SOCNET in the body of
> the message.



--
Dmitry Zinoviev
Associate Professor in Mathematics and Computer Science
Suffolk University, Boston, MA 02114

_____________________________________________________________________
SOCNET is a service of INSNA, the professional association for social
network researchers (http://www.insna.org). To unsubscribe, send
an email message to [log in to unmask] containing the line
UNSUBSCRIBE SOCNET in the body of the message.

_____________________________________________________________________ SOCNET is a service of INSNA, the professional association for social network researchers (http://www.insna.org). To unsubscribe, send an email message to [log in to unmask] containing the line UNSUBSCRIBE SOCNET in the body of the message.

_____________________________________________________________________ SOCNET is a service of INSNA, the professional association for social network researchers (http://www.insna.org). To unsubscribe, send an email message to [log in to unmask] containing the line UNSUBSCRIBE SOCNET in the body of the message.