Weighted Rich-club Effect: A more appropriate null model for scientific collaboration networks

May 29, 2009 at 12:00 am 8 comments

Two-mode reshufflingIn this post, I extend the Weighted Rich-club Effect by suggesting and testing a different null model for the scientific collaboration network (Newman, 2001). This network is a two-mode network, which becomes an undirected one-mode network when projected. In the paper, we compared the observed weighted rich-club coefficient with the one found on random networks. The random networks were constructed by a null model defined for directed networks when prominence was based on node strength. Therefore, we created a directed network from the undirected scientific collaboration network by linking connected nodes with two directed ties that had the same weight. The null model consisted in reshuffling the tie weights attached to out-going ties for each node. However, this local reshuffling broke the weight symmetry of the two directed ties between connected nodes. The null model proposed in this post is based on the randomisation of the two-mode network before projecting it onto a one-mode network. By randomising before projecting, we are able to randomise a network while keeping the symmetry of weights.

The content of this post has been integrated in the tnet manual, see Weighted Rich-club Effect in Two-mode Networks.

Entry filed under: Network thoughts. Tags: , , , , , , , , , , , , , , , , , , , , , , , , , .

Thesis: Structure and Evolution of Weighted Networks tnet: Software for Analysing Weighted Networks


  • 1. Samir  |  August 16, 2010 at 10:22 pm

    Dear Tore,
    thank you for the beautiful blog.

    I installed R on my pc andI installed the package tnet.
    If i compute your code, R give me an error:
    “Loading required package: igraph
    Error : .onLoad failed in loadNamespace() for ‘igraph’, details:
    call: inDL(x, as.logical(local), as.logical(now), …)
    error: unable to load shared library ‘C:/Users/ssuweis/Documents/R/win-library/2.11/igraph/libs/igraph.dll’:
    LoadLibrary failure: The specified module could not be found.”

    So I installed also the package “igraph” and I tried to load it, but a new error appear:

    “Error: package/namespace load failed for ‘igraph'”

    Of course I have set the directory in the folder where I have my “personal library”‘, so I cannot understand why I cannot load both tnet and igraph package.

    I think it is a trivial problem that occurs to beginners in R like me, andI tried to google the latter error, but I did not find any useful suggestions..If you can help I really appreciate it!

    Thanks and best


    • 2. Tore Opsahl  |  August 17, 2010 at 2:55 pm


      Thank you for taking an interest in my work, and tnet.

      tnet requires that igraph is installed as this package does some of these computationally heavy stuff in C++ and tnet is solely written in R.

      Did you install tnet using the install.packages(“tnet”)-command? If so, igraph should have automatiically been installed. Also, try to run update.packages() to see whether an update could sort the packages out. If none of these things work, please contact me offline.



      • 3. Tore Opsahl  |  August 19, 2010 at 12:30 pm


        This was due to a problem with the igraph-package. The guys behind that package (Gabor Csardi) have just submitted a new version of their R-package that should solve this issue. As soon as it has been approved by CRAN and disseminated across the servers, you should be able to get it by writing update.packages() in R.


  • 4. Pral  |  October 29, 2010 at 4:43 pm

    Can u please tell me how to install R-igraph. I get an error:

    install.packages(“igraph”): command not found

    • 5. Tore Opsahl  |  October 30, 2010 at 11:46 am

      This works perfectly fine on my computer. Have you tried to install other packages? If this prblem persist, there might be something wrong with your R setup. If this is only an issue with igraph, then contact the authors behind that package.


  • 6. Raj  |  March 3, 2011 at 1:35 pm

    Nice Blog. Can you describe in detail the reshuffling procedure which maintain both the authors’ and papers’ degree. Say, A-B has written 2 papers, while C-D have written 1 paper. Then,
    If this is reshuffled to say,
    Then, the degree of A has changed.
    Thanks for you time.

    • 7. Tore Opsahl  |  March 3, 2011 at 1:44 pm


      Thank you for taking an interest in my work.

      The randomisation procedure is as you suggest and outlined in the two-mode diagram above; however, we do not seem to have the same interpretation of the term degree. In my opinion, degree is the number of connections or adjacent nodes. While this is straight forward in a one-mode network, in two-mode networks this can be connections to nodes (of the other node set) or nodes two-steps away from a node. I have chosen to use the former assumption (often referred to as a node’s two-mode degree) instead of the latter (often referred to as a node’s one-mode degree as this is the node’s degree if the network is projected).

      I hope this clarifies the issue,


      • 8. Raj  |  March 7, 2011 at 4:57 pm

        Many thanks for the clarification.

@toreopsahl on Twitter


The information on this blog is published under the Creative Commons Attribution-Noncommercial 3.0-lisence.

This means that you are free to:
· share
· adapt
under the following conditions:
· attribution (cite it)
· noncommercial (email me).

Creative Commons License