Skip to contents

Effective size, efficiency and constraint of Burt (1992) for every node of a valued or directed network, with the option of treating the alters of the same category as redundant (Everett and Borgatti, 2026).

Usage

structural_holes(A, B = NULL, beta = 1, ego_network = TRUE)

Arguments

A

A square matrix, binary or valued

B

An optional matrix of the membership of the nodes (rows) in the categories (columns), or a vector with the category of each node

beta

The strength of the tie added between two alters of the same category

ego_network

Whether the measures are computed within the ego network of each node (TRUE) or within the whole network

Value

This function returns a data frame with the number of alters, the effective size, the efficiency and the constraint of each node.

Details

Burt (1992) measures the ties of a node \(i\) with its alters \(j\) through the proportion of the ties of \(i\) that go to \(j\), \(p_{ij} = (a_{ij} + a_{ji}) / \sum_k (a_{ik} + a_{ki})\), so a directed tie counts in both directions. The effective size is \(\sum_j (1 - \sum_q p_{iq} m_{jq})\), where \(m_{jq}\) is the tie of \(j\) with \(q\) divided by the strongest tie of \(j\); the efficiency is the effective size divided by the number of alters; and the constraint is \(\sum_j (p_{ij} + \sum_q p_{iq} p_{qj})^2\).

With ego_network = TRUE (default, as in UCINET) the proportions are computed within the ego network of each node, and with ego_network = FALSE within the whole network, as in igraph::constraint(). For binary undirected networks and ego networks, the effective size is the one of redundancy() and the constraint the one of eb_constraint().

When B is given, two alters of the same category are treated as partly redundant even when they are not tied: each missing tie between two alters is given the value \(\beta \sum_k B_{xk} B_{yk}\), the product of their memberships, before the measures are computed (Everett and Borgatti, 2026: Eq. 6). With a partition and beta = 1 two alters of the same category count as tied; beta = 0 gives the original measures, and the values in between set how much the category matters.

References

Burt, R.S., 1992. Structural Holes: the Social Structure of Competition. Harvard University Press, Cambridge.

Everett, M. G. and Borgatti, S. P. (2026). Alter composition with overlapping group memberships. Social Networks, 85, 80–88. doi:10.1016/j.socnet.2025.12.001

Author

Alejandro Espinosa-Rada

Examples

data(campnet)
structural_holes(campnet$network)
#>         alters effective_size efficiency constraint
#> HOLLY        5       3.857143  0.7714286  0.4363719
#> BRAZEY       3       1.000000  0.3333333  1.0238889
#> CAROL        3       2.000000  0.6666667  0.8044444
#> PAM          5       3.875000  0.7750000  0.5163194
#> PAT          4       3.571429  0.8928571  0.3900227
#> JENNIE       3       2.333333  0.7777778  0.6111111
#> PAULINE      5       3.857143  0.7714286  0.5365079
#> ANN          3       1.600000  0.5333333  0.9333333
#> MICHAEL      5       3.071429  0.6142857  0.6010603
#> BILL         3       1.000000  0.3333333  1.0800000
#> LEE          3       1.666667  0.5555556  0.8227778
#> DON          4       2.142857  0.5357143  0.7018141
#> JOHN         3       2.333333  0.7777778  0.7283951
#> HARRY        4       1.750000  0.4375000  0.7903321
#> GERY         4       2.900000  0.7250000  0.6491111
#> STEVE        5       3.062500  0.6125000  0.6148247
#> BERT         4       2.214286  0.5535714  0.7183263
#> RUSS         4       2.785714  0.6964286  0.6275510

# Alters of the same gender are partly redundant
structural_holes(campnet$network, B = campnet$attributes$gender, beta = 0.5)
#>         alters effective_size efficiency constraint
#> HOLLY        5       3.500000  0.7000000  0.5185714
#> BRAZEY       3       1.000000  0.3333333  1.0238889
#> CAROL        3       1.500000  0.5000000  0.9023480
#> PAM          5       2.000000  0.4000000  0.6359449
#> PAT          4       2.285714  0.5714286  0.6843537
#> JENNIE       3       1.666667  0.5555556  0.8227778
#> PAULINE      5       3.142857  0.6285714  0.5869581
#> ANN          3       1.300000  0.4333333  0.9467222
#> MICHAEL      5       2.047619  0.4095238  0.6829291
#> BILL         3       1.000000  0.3333333  1.0800000
#> LEE          3       1.666667  0.5555556  0.8227778
#> DON          4       2.071429  0.5178571  0.7123272
#> JOHN         3       2.333333  0.7777778  0.7283951
#> HARRY        4       1.666667  0.4166667  0.8059043
#> GERY         4       1.483333  0.3708333  0.7961985
#> STEVE        5       2.437500  0.4875000  0.6535387
#> BERT         4       1.928571  0.4821429  0.7505675
#> RUSS         4       1.797619  0.4494048  0.7328385