Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
R
 
 
 
 
man
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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

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)

License

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

About

an R package for the validation of community detection, it studies the robustness of a community detection algorithm and compares two algorithms.

Resources

License

Releases

No releases published

Packages

No packages published

Languages

You can’t perform that action at this time.