Crandore Hub

robin

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>.

README

# robin <img src="man/img/logoRobin.png" align="right" height="138.5"/>

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

***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**.

<p align="center">

<img src="https://github.com/ValeriaPolicastro/Paper-Robin/blob/master/images/Schermata%20del%202019-09-23%2012-50-52.png" width="500" height="300"/>

</p>

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"

```{r}
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)
```

<p align="center">
<img src="https://github.com/ValeriaPolicastro/Paper-Robin/blob/master/images/PlotRobin.png" width="500" height="500"/>
</p>

```{r}
#For the testing:
robinFDATest(proc)
robinGPTest(proc)
```

## Example 2: "Comparison of two community detection algorithms"

```{r}
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)
```

<p align="center">
<img src="https://github.com/ValeriaPolicastro/Paper-Robin/blob/master/images/PlotCompare.png" width="500" height="500"/>
</p>

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.

```{r}
#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.](https://github.com/ValeriaPolicastro/robin/blob/master/LICENSE)

Versions across snapshots

VersionRepositoryFileSize
2.0.0 rolling linux/jammy R-4.5 robin_2.0.0.tar.gz 703.1 KiB
2.0.0 rolling linux/noble R-4.5 robin_2.0.0.tar.gz 703.1 KiB
2.0.0 rolling source/ R- robin_2.0.0.tar.gz 703.1 KiB
2.0.0 latest linux/jammy R-4.5 robin_2.0.0.tar.gz 703.1 KiB
2.0.0 latest linux/noble R-4.5 robin_2.0.0.tar.gz 703.1 KiB
2.0.0 latest source/ R- robin_2.0.0.tar.gz 703.1 KiB
2.0.0 2026-04-26 source/ R- robin_2.0.0.tar.gz 703.1 KiB
2.0.0 2026-04-23 source/ R- robin_2.0.0.tar.gz 703.1 KiB
2.0.0 2025-04-20 source/ R- robin_2.0.0.tar.gz 703.1 KiB

Dependencies (latest)

Depends

Imports

Suggests