Learn R Programming

brainGraph (version 1.0.0)

efficiency: Calculate graph global, local, or nodal efficiency

Description

This function calculates the global efficiency of a graph or the local or nodal efficiency of each vertex of a graph. The global efficiency is equal to the mean of all nodal efficiencies.

Usage

efficiency(g, type = c("local", "nodal", "global"), weights = NULL,
  use.parallel = TRUE, A = NULL)

graph.efficiency(g, type = c("local", "nodal", "global"), weights = NULL, use.parallel = TRUE, A = NULL)

Arguments

g
An igraph graph object
type
Character string; either local, nodal, or global (default: local)
weights
Numeric vector of edge weights; if NULL (the default), and if the graph has edge attribute weight, then that will be used. To avoid using weights, this should be NA.
use.parallel
Logical indicating whether or not to use foreach (default: TRUE)
A
Numeric matrix; the (weighted or unweighted) adjacency matrix of the input graph (default: NULL)

Value

A numeric vector of the local efficiencies for each vertex of the graph (if type is local|nodal) or a single number (if type is global).

Details

Global efficiency for graph G with N vertices is: $$E_{global}(G) = \frac{1}{N(N-1)} \sum_{i \ne j \in G} \frac{1}{d_{ij}}$$ where \(d_{ij}\) is the shortest path length between vertices i and j. Local efficiency for vertex i is: $$E_{local}(i) = \frac{1}{N} \sum_{i \in G} E_{global}(G_i)$$ where \(G_i\) is the subgraph of neighbors of i, and N is the number of vertices in that subgraph. Nodal efficiency for vertex i is: $$E_{nodal}(i) = \frac{1}{N-1} \sum_{j \in G} \frac{1}{d_{ij}}$$

References

Latora V., Marchiori M. (2001) Efficient behavior of small-world networks. Phys Rev Lett, 87.19:198701.