आर

2011-04-01 15 views
5

में नेटवर्क मॉड्यूलरिटी कैलकुलेशन Network Modularity के लिए समीकरण अपने विकिपीडिया पेज (और प्रतिष्ठित पुस्तकों में) पर दिया गया है। मैं इसे कुछ कोड में देखना चाहता हूं। मैंने पाया है कि igraph के लिए आर (The R Foundation for Statistical Computing) के साथ उपयोग किया जा सकता है।आर

मैं मॉड्यूलरिटी की गणना करने के लिए कोड में उपयोग किए गए उदाहरण (या एक समान) को देखना चाहता हूं। लाइब्रेरी उदाहरण पर देती है लेकिन वास्तव में यह नहीं है कि मैं क्या चाहता हूं।

हमारे पास लंबवत V = {1, 2, 3, 4, 5} और किनारों E = {(1,5), (2,3), (2,4), (2, 5) (3,5)} जो एक अप्रत्यक्ष ग्राफ बनाता है।

इन शीर्षकों को दो समुदायों में विभाजित करें: c1 = {2,3} और c2 = {1,4,5}। यह इन दो समुदायों की मॉड्यूलरिटी है जिसे गणना की जानी चाहिए।

उत्तर

8
library(igraph) 
g <- graph(c(1,5,2,3,2,4,2,5,3,5)) 
membership <- c(1,2,2,1,1) 
modularity(g, membership) 

कुछ यहाँ स्पष्टीकरण:

  1. वेक्टर मैं का उपयोग करते ग्राफ बनाने ग्राफ के किनारे सूची है। (0.6 से पुराने संस्करणों में, हमें संख्याओं से 1 घटा देना था क्योंकि उस समय igraph शून्य-आधारित वर्टेक्स इंडेक्स का उपयोग करता है, लेकिन अब और नहीं)।

  2. मैं सदस्यता वेक्टर membership की मई के तत्व समुदाय मैं अंतर्गत आता है जो शिखर के सूचकांक देता है।

+0

धन्यवाद Tamás। आप 'सदस्यता <- सी (1,2,2,1,1)' के साथ कैसे आए? मैं शायद इसे सही ढंग से नहीं पढ़ रहा हूं लेकिन पहले किनारे (1,5) के लिए, आपने समुदाय 1 कहा है लेकिन 1 और 5 के शीर्ष पर समुदाय 2 हैं? – ale

+0

हां, मैंने इसे मिश्रित किया; मेरे वेक्टर में, 1, 4 और 5 में से 1, 4 और 5 समुदाय 2 से संबंधित हैं और 3 से 2 समुदाय 2 से संबंधित हैं। –

+0

सावधान रहें, सदस्यता वेक्टर शून्य आधारित होना चाहिए (दस्तावेज़ीकरण के अनुसार) – Pomber