Last data update: 2014.03.03

R: Graph clustering based on edge betweenness centrality
betweenness.centrality.clusteringR Documentation

Graph clustering based on edge betweenness centrality

Description

Graph clustering based on edge betweenness centrality

Usage

betweenness.centrality.clustering(g, threshold = -1, normalize = T)

Arguments

g

an instance of the graph class with edgemode “undirected”

threshold

threshold to terminate clustering process

normalize

boolean, when TRUE, the edge betweenness centrality is scaled by 2/((n-1)(n-2)) where n is the number of vertices in g; when FALSE, the edge betweenness centrality is the absolute value

Details

To implement graph clustering based on edge betweenness centrality.

The algorithm is iterative, at each step it computes the edge betweenness centrality and removes the edge with maximum betweenness centrality when it is above the given threshold. When the maximum betweenness centrality falls below the threshold, the algorithm terminates.

See documentation on Clustering algorithms in Boost Graph Library for details.

Value

A list of

no.of.edges

number of remaining edges after removal

edges

remaining edges

edge.betweenness.centrality

betweenness centrality of remaining edges

Author(s)

Li Long <li.long@isb-sib.ch>

References

Boost Graph Library ( www.boost.org/libs/graph/doc/index.html )

The Boost Graph Library: User Guide and Reference Manual; by Jeremy G. Siek, Lie-Quan Lee, and Andrew Lumsdaine; (Addison-Wesley, Pearson Education Inc., 2002), xxiv+321pp. ISBN 0-201-72914-8

See Also

brandes.betweenness.centrality

Examples

con <- file(system.file("XML/conn.gxl",package="RBGL"))
coex <- fromGXL(con)
close(con)
coex <- ugraph(coex)
betweenness.centrality.clustering(coex, 0.5, TRUE)

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(RBGL)
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from 'package:stats':

    IQR, mad, xtabs

The following objects are masked from 'package:base':

    Filter, Find, Map, Position, Reduce, anyDuplicated, append,
    as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
    get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
    match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
    rbind, rownames, sapply, setdiff, sort, table, tapply, union,
    unique, unsplit

> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/RBGL/bccluster.Rd_%03d_medium.png", width=480, height=480)
> ### Name: betweenness.centrality.clustering
> ### Title: Graph clustering based on edge betweenness centrality
> ### Aliases: betweenness.centrality.clustering
> ### Keywords: models
> 
> ### ** Examples
> 
> con <- file(system.file("XML/conn.gxl",package="RBGL"))
> coex <- fromGXL(con)
> close(con)
> coex <- ugraph(coex)
> betweenness.centrality.clustering(coex, 0.5, TRUE)
$no.of.edges
[1] 14

$edges
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
from "A"  "A"  "A"  "B"  "B"  "C"  "D"  "D"  "E"  "E"   "E"   "H"   "H"   "F"  
to   "B"  "C"  "D"  "C"  "D"  "D"  "E"  "H"  "G"  "H"   "F"   "F"   "G"   "G"  

$edge.betweenness.centrality
           [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
centrality    1    1    5    1    5    5    8    8    3     1     3     3     3
           [,14]
centrality     1

> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>