Graph Scoring Functions

library(clustAnalytics)

The package includes efficient implementations of the clustering coefficient and transitivity for weighted networks introduced by . As they can be applied to weighted graphs in general and not only to their partition into communities, they are simply called with the graph as the only argument:

data(karate, package="igraphdata")
weighted_clustering_coefficient(karate)
#> This graph was created by an old(er) igraph version.
#>   Call upgrade_graph() on it to use with the current igraph version
#>   For now we convert it on the fly...
#> [1] 0.8127164

To be able to obtain the result for every community in the graph, we provide the function apply_subgraphs; which given a graph, a membership vector and a scalar function, applies the function to every community and returns the vector of results. In this case it works as follows:

apply_subgraphs(karate, V(karate)$Faction, weighted_clustering_coefficient)
#> [1] 0.9514233 0.7783815