आर: "जोड़ने" रेखांकन
Nov 24 2020
R का उपयोग करते हुए, मैंने एक ग्राफ बनाया और बनाया:
library(igraph)
library(igraphdata)
data(karate)
#cluster
cfg <- cluster_fast_greedy(karate)
#plot entire graph
plot(cfg, karate)
#plot first subgraph
a = induced_subgraph(karate, cfg[[1]])
plot(a)
#plot second subgraph
b = induced_subgraph(karate, cfg[[2]])
plot(b)
#plot third subgraph
c = induced_subgraph(karate, cfg[[3]])
plot(c)
क्या कुछ कोड लिखना संभव है जो दिखाता है कि कौन सा ग्राफ किस ग्राफ से जुड़ा है?

उदाहरण: हरा ग्राफ नारंगी और बैंगनी से जुड़ा है। बैंगनी ग्राफ केवल हरे रंग के ग्राफ से जुड़ा है। और नारंगी ग्राफ हरे रंग के ग्राफ से जुड़ा है
("ए" ऑरेंज ग्राफ है, "बी" ग्रीन ग्राफ है, "सी" बैंगनी ग्राफ है)
बी: सी और ए
c: b
ए: बी
जवाब
1 BenNutzer Nov 25 2020 at 08:58
बाइनरी केस के लिए, जहां सवाल यह है कि समुदायों के बीच संबंध मौजूद है या नहीं, आप निम्नलिखित कार्य कर सकते हैं। सबसे पहले, उनकी सदस्यता ("ए", "बी" या "सी" से संबंधित) के आधार पर समुदायों को अनुबंधित करें।
V(karate)$mem <- membership(cfg) g <- contract.vertices(karate, V(karate)$mem, vertex.attr.comb = "ignore")
दूसरे, छोरों और कई किनारों को हटा दें:
g <- simplify(g)
अंत में, आसन्न नोड्स निकालें (जो अब उन्हें अनुबंधित करने के बाद समान समुदायों):
sapply(1:vcount(g), function(x) adjacent_vertices(g, x))