Learn R Programming

brainGraph (version 0.62.0)

graph.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

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

Arguments

g
The graph on which to calculate efficiency
type
A character string; either 'local', 'nodal', or 'global'
weights
A numeric vector of edge weights; if 'NULL', and if the graph has edge attribute 'weight', then that will be used. To avoid using weights, this should be 'NA'
.parallel
Logical indicating whether or not to use foreach (default: TRUE)

Value

  • A vector of the local efficiencies for each vertex of the graph (if type is 'local|nodal') or a 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.