Learn R Programming

modMax (version 1.1)

localModularity: Algorithms using local modularity

Description

localModularity uses the local modularity to identify the local community structure around a certain vertex

localModularityWang uses the local modularity to identify the community structure of the entire network

Usage

localModularity(adjacency, srcV, k) localModularityWang(adjacency,numRandom=0)

Arguments

adjacency
A nonnegative symmetric adjacency matrix of the network whose community structur will be analyzed
srcV
A given vertex whose local community structure should be determined by localModularity
k
The maximum number of vertices to add to the local community of srcV
numRandom
The number of random networks with which the modularity of the resulting community structure should be compared (default: no comparison). see details below for further explanation of the used null model.

Value

The result for localModularity is returned as a list with the following components
local community structure
Vertices assigned to the same community as the source vertex srcV
local modularity
The local modularity value for the determined local community
The result for localModularityWang is returned as a list with the following components
number of communities
The number of communities detected by the algorithm
modularity
The modularity of the detected community structure
mean
The mean of the modularity values for random networks, only computed if numRandom>0
standard deviation
The standard deviation of the modularity values for random networks, only computed if numRandom>0
community structure
The community structure of the examined network given by a vector assigning each vertex its community number
random modularity values
The list of the modularity values for random networks, only computed if numRandom>0

Details

The used random networks have the same number of vertices and the same degree distribution as the original network.

References

Clauset, A. Finding local community structure in networks. Phys. Rev. E, 72:026132, Aug 2005.

Wang, X., Chen, G. and Lu, H. A very fast algorithm for detecting community structures in complex networks. Physica A: Statistical Mechanics and its Applications, 384(2):667-674, 2007.

Examples

Run this code
#unweighted network
randomgraph1 <- erdos.renyi.game(10, 0.3, type="gnp",directed = FALSE, loops = FALSE)

#to ensure that the graph is connected
vertices1 <- which(clusters(randomgraph1)$membership==1)  
graph1 <- induced.subgraph(randomgraph1,vertices1)

adj1 <- get.adjacency(graph1)
result1 <- localModularity(adj1, srcV=1, k=4)

#weighted network
randomgraph2 <- erdos.renyi.game(10, 0.3, type="gnp",directed = FALSE, loops = FALSE)

#to ensure that the graph is connected
vertices2 <- which(clusters(randomgraph2)$membership==1)  
graph2 <- induced.subgraph(randomgraph2,vertices2)
graph2 <- set.edge.attribute(graph2, "weight", value=runif(ecount(graph2),0,1))

adj2 <- get.adjacency(graph2, attr="weight")
result2 <- localModularityWang(adj2)

Run the code above in your browser using DataLab