开发者

How do I apply a function to each connected components within a graph/network?

I have a large igraph object 70,000+ vertices (nodes) and 200,000+ edges (connections). I'd like to calculate some measures of centrality but the network is too big. I thought a good work around would be to break my network into connected components (even the largest isn't too big).

I was thinking about using the igraph func开发者_JAVA百科tion clusters or related methods. Could I then calculate alpha.centrality() and bonpow() on the clusters? and then merge the results back into the original igraph object? (or a dataframe with all vertices)

I'm not sure of the best approach and I'd be really interested to hear any ideas people have. Many thanks :)


You can use the decompose.graph function in igraph to obtain a list of the connected components, then use lapply to run your function (alpha.centrality or bonpow) on each of the components. After having run decompose.graph, you may want to deallocate your original graph to re-claim some memory.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜