This function performs a "targeted attack" of a graph or a "random failure" analysis, calculating the size of the largest component after edge or vertex removal.
robustness(g, type = c("vertex", "edge"), measure = c("btwn.cent",
"degree", "random"), N = 1000)
An igraph
graph object
Character string; either 'vertex' or 'edge' removals (default:
vertex
)
Character string; sort by either 'btwn.cent' or 'degree', or
choose 'random' (default: btwn.cent
)
Integer; the number of iterations if random is chosen
(default: 1e3
)
Data table with elements:
Character string describing the type of analysis performed
The input argument measure
Numeric vector of the ratio of maximal component size after each removal to the observed graph's maximal component size
Numeric vector of the ratio of vertices/edges removed
Character string indicating the subject group, if applicable
In a targeted attack, it will sort the vertices by either degree or betweenness centrality (or sort edges by betweenness), and successively remove the top vertices/edges. Then it calculates the size of the largest component.
In a random failure analysis, vertices/edges are removed in a random order.
Albert R., Jeong H., Barabasi A. (2000) Error and attack tolerance of complex networks. Nature, 406:378-381.