Have a look at this page: http://toreopsahl.com/tnet/two-mode-networks/

Best,

Tore

Thanks for the beautiful work you are doing. I am currently trying to analyse some two mode network (firms and their stakeholders). I was wondering if you have any suggestions for calculating clustering, density (of row and columns), point connectivity, decay centrality.

Best, George

]]>Glad that you are attempting to tackle more advanced types of networks. tnet can analyze some of those features individually, but it is not destined for multiplex networks. This is more out of a lack of metrics to apply to these networks. I’m afraid you will have to start coding up some metrics yourself if you want to go down this path.

Best,

Tore

Thank you so much for your work in SNA. I am trying to run a longitudinal, weighted, multi-relational (multiplex), network in R with one node type. Everyone tells me this is not possible with any packages out there. Will Tnet do this? I need to pull network metrics from the graph that take into account the complete network with multi-relations.

Thank you!

Jesse

Aline ]]>

Thanks for your comment.

The degree_w-function is not restricted in any way to small node ids; however, the return object includes all nodes from 1 to the maximum integer. The nodes ids without a mentioned in the edgelist will get a degree score of 0 (i.e., isolates). To overcome this issue, you can use the compress_ids-functions before running the degree_w-function. For example:

# Load tnet library(tnet) # Load network net <- rbind( c(1000,2000,4), c(1000,3000,2), c(2000,1000,4), c(2000,3000,4), c(2000,4000,1), c(2000,5000,2), c(3000,1000,2), c(3000,2000,4), c(4000,2000,1), c(5000,2000,2), c(5000,6000,1), c(6000,5000,1)) # Compress ids net.c <- compress_ids(net, type="weighted one-mode tnet") # Compute degree scores out <- degree_w(net.c[[1]]) # Convert back to original scores dimnames(net.c[[2]])[[2]] <- c("nodeID","node") out <- merge(out, net.c[[2]]) # Output out-object out[,c("nodeID", "degree", "output")] nodeID degree output 1 1000 2 6 2 2000 4 11 3 3000 2 6 4 4000 1 1 5 5000 2 3 6 6000 1 1

Hope this helps,

Tore

I was using the function degree_w() with a dataset containing long ids (6 digits) and it was returning strange results: my network has 3700 nodes, and it was returning a data frame with more than 50000 observations. Once a replaced the ids for shorter ones the function works a treat. Is there really a restriction for the size of ids the function can handle?

Best,

Aline

Thanks for your comment. I don’t know of other packages specifically for weighted and directed networks. However, all but one function in tnet works on directed and weighted networks (the local clustering coefficient is not defined for directed networks; hence, only implemented for undirected ones).

Best,

Tore

thanks for your efforts.

Do you have any hints for analyzing weighted directed networks in R?

Best,

Majom

Yes, you’re right. That node id was an isolate and so the BC value should be 0.0.

Thanks so much for your helpful advice. I could not have come up with this myself.

Best Regards,

Fatemeh

Thank you for your email and data. This happens because node 1309 is an isolate, and is not kept when the as.tnet-function is automatically run on the edgelist (it deletes tie weights of 0). If you would like to have an isolate included, please put it into the middle of the edge id sequence. This process is shown here: http://toreopsahl.com/2010/03/20/closeness-centrality-in-networks-with-disconnected-components/

Hope this helps,

Tore

Thanks so much for your response. I tried the recent version as well but still received the same results (the last node is missing). I emailed you the link table and the code. Could you please have a look at them?

Many thanks for your help,

Fatemeh

Thanks for using tnet!

There has been an update of the tnet package recently. Could you run update.packages() to ensure you have version 3.0.7? If you are experiencing similar problems, email me with the code and data you are using.

Best,

Tore

I came across a problem in using the Betweeness_w of tnet and it would be appreciated if you please help me with that:

I am interested to use the tnet package in order to calculate Betweenness Centrality for a weighted and undirected network. My network has 1309 nodes and 4229 links. I also add the reverse relationship between nodes to get the tnet to treat my network as an undirected one.

When I run the betweenness_W in R, it only gives me the BC value for the node 1 to 1308 and the last one (node id=1309) is missing. Do you have any idea what is the reason for this?

Kind Regards,

Fatemeh

I am very interested in SNA as my research area. I am new to it, and luckily i found this webspace :-) You have done remarkable work.

There is too much to learn as am new to it. I have a confusion as to where to start from? I am doing my Masters in Computer Science from National Institute of Technology, Surat. Could you plz help me in drawing a path?

I will keep in touch and follow your work to get in detail of this area. It would be great boost if you could guide me sir. (I know you are a busy person, still i ask you :-D) I just loved your work.

Thanks already,

Warm Regards,

Harsh

Thanks for using tnet!

The phi-function is the non-normalized weighted rich-club coefficient. The line starting with Er finds the ties within the prominent nodes. This should always be a list-object, so in tnet 3.1, sapply has been changed to lapply. The second line sum the tie weights of these ties.

Hope this helps,

Tore

You made an amazing advance in the network analysis. Thanks for sharing good stuffs.

I have been working a longitudinal network analysis using your “weighted_richclub_w()”. But, i am having consistent warnings and errors. Spending some hours on your R scripts, I found that my data could not get through your “phi ()”. I spent hours on it, but because of my short knowledge about R, I still have several lines in your codes that I could’nt understand. Could you explain a little bit more about the following two lines in your phi function? Especially, I am having a problem to get through the second line.

(1) Er <- sapply(output[, "x"], function(a) which(net[, "rc"] > a))

(2) output[, "num"] <- unlist(lapply(Er, function(a) sum(net[a,"w"])))

It would be very helpful for me if I get several words from you about this.

Thank your time, and Best

Joon.

]]>