These functions calculate common betweenness-related centrality measures for one- and two-mode networks:

  • node_betweenness() measures the betweenness centralities of nodes in a network.

  • node_induced() measures the induced betweenness centralities of nodes in a network.

  • node_flow() measures the flow betweenness centralities of nodes in a network, which uses an electrical current model for information spreading in contrast to the shortest paths model used by normal betweenness centrality.

  • node_stress() measures the stress centrality of nodes in a network.

  • tie_betweenness() measures the number of shortest paths going through a tie.

  • net_betweenness() measures the betweenness centralization for a network.

All measures attempt to use as much information as they are offered, including whether the networks are directed, weighted, or multimodal. If this would produce unintended results, first transform the salient properties using e.g. to_undirected() functions. All centrality and centralization measures return normalized measures by default, including for two-mode networks.

node_betweenness(.data, normalized = TRUE, cutoff = NULL)

node_induced(.data, normalized = TRUE, cutoff = NULL)

node_flow(.data, normalized = TRUE)

node_stress(.data, normalized = TRUE)

tie_betweenness(.data, normalized = TRUE)

net_betweenness(.data, normalized = TRUE, direction = c("all", "out", "in"))

Arguments

.data

An object of a manynet-consistent class:

  • matrix (adjacency or incidence) from {base} R

  • edgelist, a data frame from {base} R or tibble from {tibble}

  • igraph, from the {igraph} package

  • network, from the {network} package

  • tbl_graph, from the {tidygraph} package

normalized

Logical scalar, whether the centrality scores are normalized. Different denominators are used depending on whether the object is one-mode or two-mode, the type of centrality, and other arguments.

cutoff

The maximum path length to consider when calculating betweenness. If negative or NULL (the default), there's no limit to the path lengths considered.

direction

Character string, “out” bases the measure on outgoing ties, “in” on incoming ties, and "all" on either/the sum of the two. For two-mode networks, "all" uses as numerator the sum of differences between the maximum centrality score for the mode against all other centrality scores in the network, whereas "in" uses as numerator the sum of differences between the maximum centrality score for the mode against only the centrality scores of the other nodes in that mode.

Value

A numeric vector giving the betweenness centrality measure of each node.

Betweenness centrality

Betweenness centrality is based on the number of shortest paths between other nodes that a node lies upon: $$C_B(i) = \sum_{j,k:j \neq k, j \neq i, k \neq i} \frac{g_{jik}}{g_{jk}}$$

Induced centrality

Induced centrality or vitality centrality concerns the change in total betweenness centrality between networks with and without a given node: $$C_I(i) = C_B(G) - C_B(G\ i)$$

Flow betweenness centrality

Flow betweenness centrality concerns the total maximum flow, \(f\), between other nodes \(j,k\) in a network \(G\) that a given node mediates: $$C_F(i) = \sum_{j,k:j\neq k, j\neq i, k\neq i} f(j,k,G) - f(j,k,G\ i)$$ When normalized (by default) this sum of differences is divided by the sum of flows \(f(i,j,G)\).

Stress centrality

Stress centrality is the number of all shortest paths or geodesics, \(g\), between other nodes that a given node mediates: $$C_S(i) = \sum_{j,k:j \neq k, j \neq i, k \neq i} g_{jik}$$ High stress nodes lie on a large number of shortest paths between other nodes, and thus associated with bridging or spanning boundaries.

References

On betweenness centrality

Freeman, Linton. 1977. "A set of measures of centrality based on betweenness". Sociometry, 40(1): 35–41. doi:10.2307/3033543

On induced centrality

Everett, Martin and Steve Borgatti. 2010. "Induced, endogenous and exogenous centrality" Social Networks, 32: 339-344. doi:10.1016/j.socnet.2010.06.004

On flow centrality

Freeman, Lin, Stephen Borgatti, and Douglas White. 1991. "Centrality in Valued Graphs: A Measure of Betweenness Based on Network Flow". Social Networks, 13(2), 141-154.

Koschutzki, D., K.A. Lehmann, L. Peeters, S. Richter, D. Tenfelde-Podehl, and O. Zlotowski. 2005. "Centrality Indices". In U. Brandes and T. Erlebach (eds.), Network Analysis: Methodological Foundations. Berlin: Springer.

On stress centrality

Shimbel, A. 1953. "Structural Parameters of Communication Networks". Bulletin of Mathematical Biophysics, 15:501-507. doi:10.1007/BF02476438

Examples

node_betweenness(ison_southern_women)
#>   Evelyn Laura Theresa Brenda Charlotte Frances Eleanor Pearl  Ruth Verne  Myra
#> 1  0.097 0.052   0.088   0.05     0.011   0.011    0.01 0.007 0.017 0.016 0.016
#> # ... with 7 more values from this nodeset unprinted. Use `print(..., n = Inf)` to print all values.
#>      E1    E2    E3    E4    E5    E6    E7    E8    E9   E10   E11   E12   E13
#> 1 0.002 0.002 0.018 0.008 0.038 0.065  0.13 0.244 0.226 0.011  0.02 0.018 0.002
#> # ... with 1 more values from this nodeset unprinted. Use `print(..., n = Inf)` to print all values.
node_induced(ison_adolescents)
#>   Betty   Sue  Alice  Jane   Dale   Pam Carol  Tina
#> 1 0.095 0.362 -0.505 0.029 -0.105  1.10 0.895 0.362
(tb <- tie_betweenness(ison_adolescents))
#>   `Betty-Sue` `Sue-Alice` `Alice-Jane` `Sue-Dale` `Alice-Dale` `Jane-Dale`
#> 1           7           3            5        4.5          2.5           2
#> # ... with 4 more values from this nodeset unprinted. Use `print(..., n = Inf)` to print all values.
plot(tb)

ison_adolescents %>% mutate_ties(weight = tb) %>% 
     graphr()

net_betweenness(ison_southern_women, direction = "in")
#> Mode 1 Mode 2 
#>  0.082  0.202