Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 提取社区节点和其他节点之间的边_R_Igraph - Fatal编程技术网

R 提取社区节点和其他节点之间的边

R 提取社区节点和其他节点之间的边,r,igraph,R,Igraph,假设我们有一个简单的加权网络,在该网络上执行某种社区检测。接下来,我们提取特定的社区,最后的任务是提取该社区的节点和所有其他节点之间的所有边 下面我粘贴了玩具代码 # Create toy graph library(igraph) set.seed(12345) g <- make_graph("Zachary") # Add weights to edges E(g)$weight <- sample(x = 1:10, size = ecount(g), replace = T

假设我们有一个简单的加权网络,在该网络上执行某种社区检测。接下来,我们提取特定的社区,最后的任务是提取该社区的节点和所有其他节点之间的所有边

下面我粘贴了玩具代码

# Create toy graph
library(igraph)
set.seed(12345)
g <- make_graph("Zachary")
# Add weights to edges
E(g)$weight <- sample(x = 1:10, size = ecount(g), replace = TRUE)
# Run community detection
cl <- cluster_louvain(g)
现在我们提取社区
#1


g1从获取社区中的所有边缘开始:

all_edges <- E(g)[inc(V(g)[membership(cl) == 1])]
all_edges
+ 10/78 edges:
 [1] 1-- 5 1-- 6 1-- 7 1--11 5-- 7 5--11 6-- 7 6--11 6--17 7--17
all_edges_m <- get.edges(g, all_edges) #matrix representation

all_edges[!(
 all_edges_m[, 1] %in% V(g)[membership(cl) == 1] & 
   all_edges_m[, 2] %in% V(g)[membership(cl) == 1]
 )] # filter where in col1 and col2
+ 4/78 edges:
[1] 1-- 5 1-- 6 1-- 7 1--11
所有_边
all_edges <- E(g)[inc(V(g)[membership(cl) == 1])]
all_edges
+ 10/78 edges:
 [1] 1-- 5 1-- 6 1-- 7 1--11 5-- 7 5--11 6-- 7 6--11 6--17 7--17
all_edges_m <- get.edges(g, all_edges) #matrix representation

all_edges[!(
 all_edges_m[, 1] %in% V(g)[membership(cl) == 1] & 
   all_edges_m[, 2] %in% V(g)[membership(cl) == 1]
 )] # filter where in col1 and col2
+ 4/78 edges:
[1] 1-- 5 1-- 6 1-- 7 1--11