Available on CRAN

ROBIN (ROBustness In Network) is an R package for the validation of community detection. It has a double aim: it studies the robustness of a community detection algorithm and it compares the robustness of two community detection algorithms.

The package implements a methodology that detects if the community structure found by a detection algorithm is statistically significant or is a result of chance, merely due to edge positions in the network.

The package:

1) Examine the robustness of a community detection algorithm against random perturbations of the original graph

2) Tests the statistical difference between the stability measure curves created

3) Makes a comparison between different community detection algorithms to choose the one that better fits the network of interest

4) Gives a graphical interactive representation

Example 1: "Robustness of a community detection algorithm"

my_network <- system.file("example/football.gml", package="robin")
graph <- prepGraph(file=my_network, file.format="gml")
graphRandom <- random(graph=graph)
proc <- robinRobust(graph=graph, graphRandom=graphRandom, measure="vi", 
                  method="louvain", type="independent")               
plotRobin(graph=graph, model1=proc$Mean, model2=proc$MeanRandom, 
legend=c("real data", "null model"), measure="vi")

#For the testing:
robinFDATest(graph=graph, model1=proc$Mean, model2=proc$MeanRandom, 
robinGPTest(model1=proc$Mean, model2=proc$MeanRandom)

Example 2: "Comparison of two community detection algorithms"

my_network <- system.file("example/football.gml", package="robin")
graph <- prepGraph(file=my_network, file.format="gml")
comp <- robinCompare(graph=graph, method1="fastGreedy",
                method2="louvain", measure="vi", type="independent")                
plotRobin(graph=graph, model1=comp$Mean1, model2=comp$Mean2, measure="vi", 
legend=c("fastGreedy", "louvain"), title="FastGreedy vs Louvain")

In this example, the Louvain algorithm fits better the network of interest, as the curve of the stability measure varies less than the one obtained by the Fast greedy method.

#For the testing:
robinFDATest(graph=graph, model1=comp$Mean1, model2=comp$Mean2, measure="vi")
robinGPTest(model1=comp$Mean1, model2=comp$Mean2)


ROBustness In Network (robin): an R package for Comparison and Validation of communities Valeria Policastro, Dario Righelli, Annamaria Carissimo, Luisa Cutillo, Italia De Feis. The R Journal (2021)


Copyright (c) 2019 V. Policastro, A. Carissimo, L. Cutillo, I. De Feis and D. Righelli.

Try the robin package in your browser

Any scripts or data that you put into this service are public.

robin documentation built on May 17, 2022, 1:07 a.m.