2010-08-19 13 views
13

Sono interessato all'esecuzione dell'algoritmo di clustering modularity di Newman su un grafico di grandi dimensioni. Se puoi indicarmi una libreria (o un pacchetto R, ecc.) Che la implementa, ti sarei molto grato.Cluster di modularità di Newman per i grafici

migliore ~ lara

+0

Si può anche provare su stats.stackexchange.com. – mbq

+0

@mbq: fantastico, molte grazie. lo proverò :) – laramichaels

+0

Sembra funzionasse ;-) – mbq

risposta

8

utilizzare il pacchetto IGRAPH per R: http://igraph.sourceforge.net/doc/R/fastgreedy.community.html questo implementa un algoritmo veloce per accertamento comunità utilizzando il metodo modularità massimizzazione del Newman-Girvan.

il codice sarà simile a questa:

library(igraph) 
# read graph from csv file 
G<-read.graph("edgelist.txt", format="ncol") 
fgreedy<-fastgreedy.community(G,merges=TRUE, modularity=TRUE) 
memberships <-community.to.membership(G, fgreedy$merges, steps=which.max(fgreedy$modularity)-1) 
print(paste('Number of detected communities=',length(memberships$csize))) 
# Community sizes: 
print(memberships$csize) 
# modularity: 
max(fgreedy$modularity) 
1

Io non sono del tutto sicuro se lo strumento di visualizzazione dei dati open source, Gephi, è in esecuzione con questo algoritmo. Come so, funziona con l'algo in carta: Svolgimento veloce di comunità su reti di grandi dimensioni

È anche un metodo basato sulla modularità.