Skip to contents

This function performs community structure clustering using the bipartite modularity described in condorModularityMax. This function uses a standard (non-bipartite) community structure clustering of the uni-partite, weighted projection of the original bipartite graph as an initial guess for the bipartite modularity.

Usage

condorCluster(
  condor.object,
  cs.method = "LCS",
  project = TRUE,
  low.memory = FALSE,
  deltaQmin = "default"
)

Arguments

condor.object

Output of make.condor.object. This function uses condor.object$edges

cs.method

is a string to specify which unipartite community structure algorithm should be used for the seed clustering. Options are LCS (multilevel.community), LEC (leading.eigenvector.community), FG (fastgreedy.community).

project

Provides options for initial seeding of the bipartite modularity maximization. If TRUE, the nodes in the first column of condor.object$edges are projected and clustered using cs.method. If FALSE, the complete bipartite network is clustered using the unipartite clustering methods listed in cs.method.

low.memory

If TRUE, uses condorModularityMax instead of condorMatrixModularity. This is a slower implementation of the modularity maximization, which does not store any matrices in memory. Useful on a machine with low RAM. However, runtimes are (much) longer.

deltaQmin

convergence parameter determining the minimum required increase in the modularity for each iteration. Default is min(10^-4,1/(number of edges)), with number of edges determined by nrow(condor.object$edges). User can set this parameter by passing a numeric value to deltaQmin.

Value

condor.object with condorModularityMax output included.

Examples

r = c(1,1,1,2,2,2,3,3,3,4,4);
b = c(1,2,3,1,2,4,2,3,4,3,4);
reds <- c("Alice","Sue","Janine","Mary")
blues <- c("Bob","John","Ed","Hank")
elist <- data.frame(red=reds[r],blue=blues[b])
condor.object <- createCondorObject(elist)
condor.object <- condorCluster(condor.object)