The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

rSpectral

The goal of ‘rSpectral’ is to make Spectral Modularity graph clustering method available to most of R graph frameworks.

Installation

You can install the development version of rSpectral from GitHub with:

# install.packages("devtools")
devtools::install_github("cmclean5/rSpectral")

Example

This is a basic example which shows you how to solve a common problem

  1. load the karate club graph and plot Faction membership:
library(rSpectral)
library(igraph)
#> 
#> Attaching package: 'igraph'
#> The following objects are masked from 'package:stats':
#> 
#>     decompose, spectrum
#> The following object is masked from 'package:base':
#> 
#>     union
data(karate, package="igraphdata")
l<-layout_nicely(karate)
memT<-V(karate)$Faction
palette <- rainbow(max(as.numeric(memT)))
plot(karate,vertex.color=palette[memT],layout=l)

  1. run spectral clustering on graph
mem0<-igraph::membership(rSpectral::spectral_igraph_communities(karate))
  1. plot the graph with membership colors
palette <- rainbow(max(as.numeric(mem0)))
plot(karate,vertex.color=palette[mem0],layout=l)

  1. run spectral clustering on graph, fixing neighbouring nodes found in same community
mem1<-igraph::membership(
  rSpectral::spectral_igraph_communities(karate, fix_neig=1))
  1. and plot again
palette <- rainbow(max(as.numeric(mem1)))
plot(karate,vertex.color=palette[mem1],layout=l)

  1. run spectral clustering - fixing neighbouring nodes, Cnmin=5
mem1.5<-igraph::membership(
  rSpectral::spectral_igraph_communities(karate, fix_neig=1,Cn_min=5))
  1. and the last plot
palette <- rainbow(max(as.numeric(mem1.5)))
plot(karate,vertex.color=palette[mem1.5],layout=l)

GraphNEL objects could be processed similarily, all other graph types could be converted either to igraph or to GraphNEL by packages such as Intergraph.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.