Learn R Programming

brainGraph (version 0.48.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)

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'

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.