These functions measure certain topological features of networks:

  • network_core() measures the correlation between a network and a core-periphery model with the same dimensions.

  • network_richclub() measures the rich-club coefficient of a network.

  • network_factions() measures the correlation between a network and a component model with the same dimensions. If no 'membership' vector is given for the data, node_kernighanlin() is used to partition nodes into two groups.

  • network_modularity() measures the modularity of a network based on nodes' membership in defined clusters.

  • network_smallworld() measures the small-world coefficient for one- or two-mode networks. Small-world networks can be highly clustered and yet have short path lengths.

  • network_scalefree() measures the exponent of a fitted power-law distribution. An exponent between 2 and 3 usually indicates a power-law distribution.

  • network_balance() measures the structural balance index on the proportion of balanced triangles, ranging between 0 if all triangles are imbalanced and 1 if all triangles are balanced.

  • network_change() measures the Hamming distance between two or more networks.

  • network_stability() measures the Jaccard index of stability between two or more networks.

These network_*() functions return a single numeric scalar or value.

network_core(.data, membership = NULL)

network_richclub(.data)

network_factions(.data, membership = NULL)

network_modularity(.data, membership = NULL, resolution = 1)

network_smallworld(.data, method = c("omega", "sigma", "SWI"), times = 100)

network_scalefree(.data)

network_balance(.data)

Source

{signnet} by David Schoch

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

membership

A vector of partition membership.

resolution

A proportion indicating the resolution scale. By default 1.

method

There are three small-world measures implemented:

  • "sigma" is the original equation from Watts and Strogatz (1998), $$\frac{\frac{C}{C_r}}{\frac{L}{L_r}}$$, where \(C\) and \(L\) are the observed clustering coefficient and path length, respectively, and \(C_r\) and \(L_r\) are the averages obtained from random networks of the same dimensions and density. A \(\sigma > 1\) is considered to be small-world, but this measure is highly sensitive to network size.

  • "omega" (the default) is an update from Telesford et al. (2011), $$\frac{L_r}{L} - \frac{C}{C_l}$$, where \(C_l\) is the clustering coefficient for a lattice graph with the same dimensions. \(\omega\) ranges between 0 and 1, where 1 is as close to a small-world as possible.

  • "SWI" is an alternative proposed by Neal (2017), $$\frac{L - L_l}{L_r - L_l} \times \frac{C - C_r}{C_l - C_r}$$, where \(L_l\) is the average path length for a lattice graph with the same dimensions. \(SWI\) also ranges between 0 and 1 with the same interpretation, but where there may not be a network for which \(SWI = 1\).

times

Integer of number of simulations.

Modularity

Modularity measures the difference between the number of ties within each community from the number of ties expected within each community in a random graph with the same degrees, and ranges between -1 and +1. Modularity scores of +1 mean that ties only appear within communities, while -1 would mean that ties only appear between communities. A score of 0 would mean that ties are half within and half between communities, as one would expect in a random graph.

Modularity faces a difficult problem known as the resolution limit (Fortunato and Barthélemy 2007). This problem appears when optimising modularity, particularly with large networks or depending on the degree of interconnectedness, can miss small clusters that 'hide' inside larger clusters. In the extreme case, this can be where they are only connected to the rest of the network through a single tie.

References

Borgatti, Stephen P., and Martin G. Everett. 2000. “Models of Core/Periphery Structures.” Social Networks 21(4):375–95. doi:10.1016/S0378-8733(99)00019-2

Murata, Tsuyoshi. 2010. Modularity for Bipartite Networks. In: Memon, N., Xu, J., Hicks, D., Chen, H. (eds) Data Mining for Social Network Data. Annals of Information Systems, Vol 12. Springer, Boston, MA. doi:10.1007/978-1-4419-6287-4_7

Watts, Duncan J., and Steven H. Strogatz. 1998. “Collective Dynamics of ‘Small-World’ Networks.” Nature 393(6684):440–42. doi:10.1038/30918 .

Telesford QK, Joyce KE, Hayasaka S, Burdette JH, Laurienti PJ. 2011. "The ubiquity of small-world networks". Brain Connectivity 1(5): 367–75. doi:10.1089/brain.2011.0038 .

Neal Zachary P. 2017. "How small is it? Comparing indices of small worldliness". Network Science. 5 (1): 30–44. doi:10.1017/nws.2017.5 .

Examples

network_core(ison_adolescents)
#> [1] 0.323
network_core(ison_southern_women)
#> [1] 0.343
network_richclub(ison_adolescents)
#> [1] 0.833
  network_factions(mpn_elite_mex)
#> [1] 0.281
  network_factions(ison_southern_women)
#> [1] -0.166
network_modularity(ison_adolescents, 
  node_kernighanlin(ison_adolescents))
#> [1] -0.205
network_modularity(ison_southern_women, 
  node_kernighanlin(ison_southern_women))
#> [1] -0.458
network_smallworld(ison_brandes)
#> [1] NaN
network_smallworld(ison_southern_women)
#> [1] -1.03
network_scalefree(ison_adolescents)
#> [1] 3.69
network_scalefree(generate_scalefree(50, 1.5))
#> [1] 2.24
network_scalefree(create_lattice(100))
#> [1] 3.46
network_balance(ison_marvel_relationships)
#> [1] 0.668