# 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 **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:

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

**Tests the statistical difference** between the stability measure curves created

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

Gives a graphical **interactive representation**

```
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,
measure="vi")
robinGPTest(model1=proc$Mean, model2=proc$MeanRandom)
```

```
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)
```

## License

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