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,
xfm = FALSE, xfm.type = NULL, use.parallel = TRUE, A = NULL,
D = 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
).
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 to transform the edge weights. Default:
FALSE
Character string specifying how to transform the weights.
Default: 1/w
Logical indicating whether or not to use foreach
.
Default: TRUE
Numeric matrix; the adjacency matrix of the input graph. Default:
NULL
Numeric matrix; the graph's “distance matrix”
Christopher G. Watson, cgwatson@bu.edu
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. and Marchiori, M. (2001) Efficient behavior of small-world networks. Phys Rev Lett, 87.19, 198701. tools:::Rd_expr_doi("10.1103/PhysRevLett.87.198701")
Latora, V. and Marchiori, M. (2003) Economic small-world behavior in weighted networks. Eur Phys J B, 32, 249--263. tools:::Rd_expr_doi("10.1140/epjb/e2003-00095-5")