[igraph] How to calculate rich-club connectivity?

52 views
Skip to first unread message

Minsu Park

unread,
Dec 15, 2011, 8:37:45 AM12/15/11
to igrap...@nongnu.org
Hi all,
I'm trying to find connectivity patterns between rich-club which means that nodes have largest indegree or outdegree.

I found a function calculating degree distribution but I could not found any function for figuring out rich-clubs and connectivity between rich-clubs.
Is there any help for finding references?


--
Thanks,
Minsu Park

Gábor Csárdi

unread,
Dec 19, 2011, 10:53:03 AM12/19/11
to Help for igraph users
Hi,

we have no built-in function for this. It does not seem to be too
difficult to implement, though.

Gabor

> _______________________________________________
> igraph-help mailing list
> igrap...@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/igraph-help
>

--
Gabor Csardi <csa...@rmki.kfki.hu>     MTA KFKI RMKI

_______________________________________________
igraph-help mailing list
igrap...@nongnu.org
https://lists.nongnu.org/mailman/listinfo/igraph-help

Bernie Hogan

unread,
Dec 19, 2011, 11:32:35 AM12/19/11
to Help for igraph users
Regarding rich-clubs, I am assuming you have already had a look at the r package t-net (see toreopsahl.net for more info; Tore has also published a fair bit on this). If you have your network in R, it should be a simple process to export from graph, calculate in t-net, and then work with the results thereafter. 

Take care,
BERNiE 

Dr Bernie Hogan
Research Fellow, Oxford Internet Institute
University of Oxford

Tamás Nepusz

unread,
Dec 19, 2011, 4:24:34 PM12/19/11
to Help for igraph users
> I'm trying to find connectivity patterns between rich-club which means that nodes have largest indegree or outdegree.
>
> I found a function calculating degree distribution but I could not found any function for figuring out rich-clubs and connectivity between rich-clubs.
You haven't mentioned whether you are using igraph from R, Python or C, but anyway, extracting a "rich club" should be simple:

1. First, you calculate the degrees of the vertices (using degree() in R, the degree() method of the graph object in Python, or igraph_degree in C).

2. Second, you find the indices of the vertices with the top degrees. In R, this can be done using sort(degrees, index.return=T) and taking the last part of the list; in Python, you can use sorted(range(g.vcount()), key=g.degree().__getitem__) and again taking the last part of the list.

3. Third, you extract the subgraph corresponding to the selected indices using subgraph() in R, the subgraph() method of the graph object in Python, or igraph_subgraph in C.

I have added a Python implementation of the rich club extraction to the wiki here:

http://igraph.wikidot.com/python-recipes#toc3

Cheers,
Tamas

Reply all
Reply to author
Forward
0 new messages