These function provide different measures of the degree to which nodes fill structural holes, as outlined in Burt (1992):

  • node_bridges() measures the sum of bridges to which each node is adjacent.

  • node_redundancy() measures the redundancy of each nodes' contacts.

  • node_effsize() measures nodes' effective size.

  • node_efficiency() measures nodes' efficiency.

  • node_constraint() measures nodes' constraint scores for one-mode networks according to Burt (1992) and for two-mode networks according to Hollway et al (2020).

  • node_hierarchy() measures nodes' exposure to hierarchy, where only one or two contacts are the source of closure.

  • node_eccentricity() measures nodes' eccentricity or Koenig number, a measure of farness based on number of links needed to reach most distant node in the network.

  • node_neighbours_degree() measures nodes' average nearest neighbors degree, or \(knn\), a measure of the type of local environment a node finds itself in

  • tie_cohesion() measures the ratio between common neighbors to ties' adjacent nodes and the total number of adjacent nodes, where high values indicate ties' embeddedness in dense local environments

Burt's theory holds that while those nodes embedded in dense clusters of close connections are likely exposed to the same or similar ideas and information, those who fill structural holes between two otherwise disconnected groups can gain some comparative advantage from that position.

node_bridges(.data)

node_redundancy(.data)

node_effsize(.data)

node_efficiency(.data)

node_constraint(.data)

node_hierarchy(.data)

node_eccentricity(.data)

node_neighbours_degree(.data)

tie_cohesion(.data)

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

Details

A number of different ways of measuring these structural holes are available. Note that we use Borgatti's reformulation for unweighted networks in node_redundancy() and node_effsize(). Redundancy is thus \(\frac{2t}{n}\), where \(t\) is the sum of ties and \(n\) the sum of nodes in each node's neighbourhood, and effective size is calculated as \(n - \frac{2t}{n}\). Node efficiency is the node's effective size divided by its degree.

References

Burt, Ronald S. 1992. Structural Holes: The Social Structure of Competition. Cambridge, MA: Harvard University Press.

Borgatti, Steven. 1997. “Structural Holes: Unpacking Burt’s Redundancy MeasuresConnections 20(1):35-38.

Burchard, Jake, and Benjamin Cornwell. 2018. “Structural Holes and Bridging in Two-Mode Networks.” Social Networks 55:11–20. doi:10.1016/j.socnet.2018.04.001

Hollway, James, Jean-Frédéric Morin, and Joost Pauwelyn. 2020. "Structural conditions for novelty: the introduction of new environmental clauses to the trade regime complex." International Environmental Agreements: Politics, Law and Economics 20 (1): 61–83. doi:10.1007/s10784-019-09464-5 .

Barrat, Alain, Marc Barthelemy, Romualdo Pastor-Satorras, and Alessandro Vespignani. 2004. "The architecture of complex weighted networks", Proc. Natl. Acad. Sci. 101: 3747.

Examples

node_bridges(ison_adolescents)
#>   Betty   Sue Alice  Jane  Dale   Pam Carol  Tina
#> 1     1     1     0     0     0     1     2     1
node_bridges(ison_southern_women)
#>   Evelyn Laura Theresa Brenda Charlotte Frances Eleanor Pearl  Ruth Verne  Myra
#> 1      0     0       0      0         0       0       0     0     0     0     0
#> # ... 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     0     0     0     0     0     0     0     0     0     0     0     0
#> # ... with 1 more values from this nodeset unprinted. Use `print(..., n = Inf)` to print all values.
node_redundancy(ison_adolescents)
#>   Betty   Sue Alice  Jane  Dale   Pam Carol  Tina
#> 1     0     1   1.5     1  1.33 0.667     0     0
node_redundancy(ison_southern_women)
#>   Evelyn Laura Theresa Brenda Charlotte Frances Eleanor Pearl  Ruth Verne  Myra
#> 1   14.5  13.6    14.5   13.5        10    13.6    13.6  14.2  14.7  14.9  14.5
#> # ... 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     7     7     7     7     7  8.95   8.8  8.90  8.88     7     7     7     7
#> # ... with 1 more values from this nodeset unprinted. Use `print(..., n = Inf)` to print all values.
node_effsize(ison_adolescents)
#>   Betty   Sue Alice  Jane  Dale   Pam Carol  Tina
#> 1     1     3   2.5     1  1.67  2.33     2     1
node_effsize(ison_southern_women)
#>   Evelyn Laura Theresa Brenda Charlotte Frances Eleanor Pearl  Ruth Verne  Myra
#> 1    2.5  1.38    2.46   1.46         1    1.41    1.36  1.77   2.3  2.05  1.46
#> # ... 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     1     1     1     1     1  4.05   4.2  4.10  4.12     1     1     1     1
#> # ... with 1 more values from this nodeset unprinted. Use `print(..., n = Inf)` to print all values.
node_efficiency(ison_adolescents)
#>   Betty   Sue Alice  Jane  Dale   Pam Carol  Tina
#> 1     1  0.75 0.625   0.5 0.556 0.778     1     1
node_efficiency(ison_southern_women)
#>   Evelyn Laura Theresa Brenda Charlotte Frances Eleanor Pearl  Ruth Verne  Myra
#> 1  0.312 0.197   0.307  0.208      0.25   0.352    0.34 0.591 0.575 0.513 0.364
#> # ... 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.333 0.333 0.167  0.25 0.125 0.506  0.42 0.293 0.344 0.167  0.25 0.143  0.25
#> # ... with 1 more values from this nodeset unprinted. Use `print(..., n = Inf)` to print all values.
node_constraint(ison_southern_women)
#>   Evelyn Laura Theresa Brenda Charlotte Frances Eleanor Pearl  Ruth Verne  Myra
#> 1  0.276 0.306   0.294  0.317     0.384   0.412   0.415 0.461 0.398 0.407 0.434
#> # ... 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.476 0.476 0.338 0.394 0.275 0.241 0.192  0.17 0.161 0.327 0.308 0.292 0.432
#> # ... with 1 more values from this nodeset unprinted. Use `print(..., n = Inf)` to print all values.
node_hierarchy(ison_adolescents)
#>   Betty   Sue Alice  Jane  Dale   Pam Carol  Tina
#> 1     0 0.031 0.027 0.006 0.033 0.006 0.102     0
node_hierarchy(ison_southern_women)
#>   Evelyn Laura Theresa Brenda Charlotte Frances Eleanor Pearl  Ruth Verne  Myra
#> 1  0.034 0.036   0.033   0.03     0.023   0.021   0.012 0.015 0.017 0.022 0.034
#> # ... 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.001 0.006 0.006 0.006  0.01 0.006 0.006 0.015 0.011 0.057 0.009 0.005
#> # ... with 1 more values from this nodeset unprinted. Use `print(..., n = Inf)` to print all values.