igraph

2016-01-25 6 views
6

में क्लस्टर द्वारा ग्राफ को संकुचित करना मैं अपने संबंधित समुदायों/समूहों में एक ग्राफ को पतन करना चाहता हूं। मुझे निम्नलिखित खिलौने उदाहरण के साथ इसे चित्रित करने दें:igraph

set.seed(123) 

#toy graph 
g <- barabasi.game(10) %>% 
    as.undirected() 

#identify communities 
c_g <- fastgreedy.community(g) 

निम्नलिखित ग्राफ में देखे गए तीन समुदाय हैं।

enter image description here

मैं पतन कोने कम करने के लिए इतना है कि जिसके परिणामस्वरूप ग्राफ में कोने पिछले कोने की सदस्यता के अनुरूप करना चाहता हूँ। ग्राफ देखें।

enter image description here

मैं igraph पैकेज के लिए नया हूँ और मैं igraph वस्तुओं से निपटने का सबसे अच्छा तरीका है के साथ परिचित नहीं हूँ।

उत्तर

8

आप contract की कोशिश कर सकते:

library(igraph) 
set.seed(123) 
g <- barabasi.game(10) %>% as.undirected() 
c_g <- fastgreedy.community(g) 
V(g)$name <- letters[1:vcount(g)] 

g2 <- contract(g, membership(c_g), vertex.attr.comb=toString) 

par(mfrow=c(1,2)) 
plot(g, vertex.color=membership(c_g)) 
plot(simplify(g2), vertex.color=1:vcount(g2)) 

enter image description here

संबंधित मुद्दे