# 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