ROBustness in Network

Assesses the robustness of the community structure of a network found by one or more community detection algorithm to give indications about their reliability. It detects if the community structure found by a set of algorithms is statistically significant and compares the different selected detection algorithms on the same network. robin helps to choose among different community detection algorithms the one that better fits the network of interest. Reference in Policastro V., Righelli D., Carissimo A., Cutillo L., De Feis I. (2021) < https://journal.r-project.org/archive/2021/RJ-2021-040/index.html>.


robin

Available on CRAN https://CRAN.R-project.org/package=robin

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, method="louvain")               
plot(proc)

#For the testing:
robinFDATest(proc)
robinGPTest(proc)

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")                
plot(comp)

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. Lower the curve more stable is the community detection method.

#For the testing:
robinFDATest(comp)
robinGPTest(comp)

Reference

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) https://journal.r-project.org/archive/2021/RJ-2021-040/index.html

License

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

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("robin")

2.0.0 by Valeria Policastro, 2 years ago


https://github.com/ValeriaPolicastro/robin


Browse source code at https://github.com/cran/robin


Authors: Valeria Policastro [aut, cre] , Dario Righelli [aut] , Luisa Cutillo [aut] , Italia De Feis [aut] , Annamaria Carissimo [aut]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports ggplot2, networkD3, DescTools, fdatest, methods, gridExtra, spam, qpdf, Matrix, perturbR, BiocParallel, reshape2

Depends on igraph

Suggests devtools, knitr, rmarkdown, testthat


Imported by INetTool.


See at CRAN