# modularity.igraph

0th

Percentile

##### Modularity of a community structure of a graph

This function calculates how modular is a given division of a graph into subgraphs.

Keywords
graphs
##### Usage
# S3 method for igraph
modularity(x, membership, weights = NULL, ...)modularity_matrix(graph, membership, weights = NULL)
##### Arguments
x, graph

The input graph.

membership

Numeric vector, for each vertex it gives its community. The communities are numbered from one.

weights

If not NULL then a numeric vector giving edge weights.

Additional arguments, none currently.

##### Details

modularity calculates the modularity of a graph with respect to the given membership vector.

The modularity of a graph with respect to some division (or vertex types) measures how good the division is, or how separated are the different vertex types from each other. It defined as $$Q=\frac{1}{2m} \sum_{i,j} (A_{ij}-\frac{k_ik_j}{2m})\delta(c_i,c_j),$$ here $$m$$ is the number of edges, $$A_{ij}$$ is the element of the $$A$$ adjacency matrix in row $$i$$ and column $$j$$, $$k_i$$ is the degree of $$i$$, $$k_j$$ is the degree of $$j$$, $$c_i$$ is the type (or component) of $$i$$, $$c_j$$ that of $$j$$, the sum goes over all $$i$$ and $$j$$ pairs of vertices, and $$\delta(x,y)$$ is 1 if $$x=y$$ and 0 otherwise.

If edge weights are given, then these are considered as the element of the $$A$$ adjacency matrix, and $$k_i$$ is the sum of weights of adjacent edges for vertex $$i$$.

modularity_matrix calculates the modularity matrix. This is a dense matrix, and it is defined as the difference of the adjacency matrix and the configuration model null model matrix. In other words element $$M_{ij}$$ is given as $$A_{ij}-d_i d_j/(2m)$$, where $$A_{ij}$$ is the (possibly weighted) adjacency matrix, $$d_i$$ is the degree of vertex $$i$$, and $$m$$ is the number of edges (or the total weights in the graph, if it is weighed).

##### Value

For modularity a numeric scalar, the modularity score of the given configuration.

For modularity_matrix a numeic square matrix, its order is the number of vertices in the graph.

##### References

Clauset, A.; Newman, M. E. J. & Moore, C. Finding community structure in very large networks, Phyisical Review E 2004, 70, 066111

cluster_walktrap, cluster_edge_betweenness, cluster_fast_greedy, cluster_spinglass for various community detection methods.

##### Aliases
• modularity.igraph
• modularity
• modularity_matrix
• mod.matrix
##### Examples
# NOT RUN {
g <- make_full_graph(5) %du% make_full_graph(5) %du% make_full_graph(5)
g <- add_edges(g, c(1,6, 1,11, 6, 11))
wtc <- cluster_walktrap(g)
modularity(wtc)
modularity(g, membership(wtc))

# }

Documentation reproduced from package igraph, version 1.2.2, License: GPL (>= 2)

### Community examples

Looks like there are no examples yet.