Skip to contents

Modularity vitality (Magelinski, Bartulovic and Carley 2021) is the drop in Newman modularity of a fixed partition \(C\) when a node is deleted and the remaining nodes keep their communities: $$V_Q(i) = Q(G, C) - Q(G - i, C \setminus \{i\}).$$ Positive values mark community hubs and negative values mark bridges between communities.

Usage

centrality_modularity_vitality(x, membership = NULL, ...)

Arguments

x

Network input accepted by centrality.

membership

Community labels, one per node (integer, factor or character), for example from detect_communities.

...

Further arguments to centrality. The measure uses weighted (use edge weights, default TRUE) and loops (keep self-loops, default TRUE).

Value

A named numeric vector with one score per node, in input node order.

Details

Edge weights are used. A directed network uses the Leicht-Newman directed modularity, and the values equal those obtained by deleting each node and recomputing igraph::modularity(). Self-loops enter the modularity, and loops = FALSE drops them. A node whose deletion leaves a graph with no edges returns NaN. Without membership the function raises a warning of classes cograph_bad_membership and cograph_undefined_measure and returns NA for every node. A membership that is not one non-missing label per node raises an error of class cograph_bad_membership.

References

Magelinski, T., Bartulovic, M., & Carley, K. M. (2021). Measuring node contribution to community structure with modularity vitality. IEEE Transactions on Network Science and Engineering, 8(1), 707-723.

Examples

centrality_modularity_vitality(regulation_net,
                               membership = rep(1:2, each = 5))
#>      Explore         Plan      Monitor        Adapt      Reflect      Discuss 
#>  0.053967672 -0.101796335  0.004415560  0.004479664  0.039233478 -0.037692695 
#>   Synthesize     Evaluate       Create        Share 
#> -0.020910192  0.006336680  0.063488155 -0.030896476