This function calculates the global efficiency of a graph or the local or nodal efficiency of each vertex of a graph.
efficiency(g, type = c("local", "nodal", "global"), weights = NULL,
use.parallel = TRUE, A = NULL)An igraph graph object
Character string; either local, nodal, or
global (default: local)
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.
Logical indicating whether or not to use foreach
(default: TRUE)
Numeric matrix; the (weighted or unweighted) adjacency matrix of the
input graph (default: NULL)
A numeric vector of the efficiencies for each vertex of the graph
(if type is local|nodal) or a single number (if type
is global).
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}}$$
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. Alternatively, global efficiency is equal to the mean of all nodal efficiencies.
Latora V., Marchiori M. (2001) Efficient behavior of small-world networks. Phys Rev Lett, 87.19:198701.
Latora V., Marchiori M. (2003) Economic small-world behavior in weighted networks. Eur Phys J B, 32:249-263.