edge.betweenness.community

0th

Percentile

Community structure detection based on edge betweenness

Many networks consist of modules which are densely connected themselves but sparsely connected to other modules.

Keywords
graphs
Usage
edge.betweenness.community (graph, weights = E(graph)$weight,
    directed = TRUE, edge.betweenness = TRUE, merges = TRUE,
    bridges = TRUE, modularity = TRUE, membership = TRUE)
Arguments
graph
The graph to analyze.
weights
The edge weights. Supply NULL to omit edge weights. By default the weight edge attribute is used, if it is present.
directed
Logical constant, whether to calculate directed edge betweenness for directed graphs. It is ignored for undirected graphs.
edge.betweenness
Logical constant, whether to return the edge betweenness of the edges at the time of their removal.
merges
Logical constant, whether to return the merge matrix representing the hierarchical community structure of the network. This argument is called merges, even if the community structure algorithm itself is divisive and not agglomerat
bridges
Logical constant, whether to return a list the edge removals which actually splitted a component of the graph.
modularity
Logical constant, whether to calculate the maximum modularity score, considering all possibly community structures along the edge-betweenness based edge removals.
membership
Logical constant, whether to calculate the membership vector corresponding to the highest possible modularity score.
Details

The edge betweenness score of an edge measures the number of shortest paths through it, see edge.betweenness for details. The idea of the edge betweenness based community structure detection is that it is likely that edges connecting separate modules have high edge betweenness as all the shortest paths from one module to another must traverse through them. So if we gradually remove the edge with the highest edge betweenness score we will get a hierarchical map, a rooted tree, called a dendrogram of the graph. The leafs of the tree are the individual vertices and the root of the tree represents the whole graph.

edge.betweenness.community performs this algorithm by calculating the edge betweenness of the graph, removing the edge with the highest edge betweenness score, then recalculating edge betweenness of the edges and again removing the one with the highest score, etc.

edge.betweeness.community returns various information collected throught the run of the algorithm. See the return value down here.

Value

concept

  • Edge betweenness
  • Community structure

References

M Newman and M Girvan: Finding and evaluating community structure in networks, Physical Review E 69, 026113 (2004)

See Also

edge.betweenness for the definition and calculation of the edge betweenness, walktrap.community, fastgreedy.community, leading.eigenvector.community for other community detection methods.

See communities for extracting the results of the community detection.

Aliases
  • edge.betweenness.community
  • edge.betweenness.community.merges
Examples
g <- barabasi.game(100,m=2)
eb <- edge.betweenness.community(g)

g <- graph.full(10) %du% graph.full(10)
g <- add.edges(g, c(1,11))
eb <- edge.betweenness.community(g)
eb
Documentation reproduced from package igraph, version 0.6.5-2, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.