在不使用邻接矩阵的情况下获取R中两组顶点之间的边
我正在寻找一种有效的方法来获得R中两组顶点之间的所有边的计数。我有一个包含两组大型顶点的大型图,我想得到从set1开始到set2结束的所有边,反之亦然。set1和set2是相互排斥的。图形不是定向的,所以我不想有重复的边。我希望避免使用邻接矩阵,但如果邻接矩阵是计算/内存方面最有效的方法,那就没办法了。我知道如何使用邻接矩阵在不使用邻接矩阵的情况下获取R中两组顶点之间的边,r,igraph,R,Igraph,我正在寻找一种有效的方法来获得R中两组顶点之间的所有边的计数。我有一个包含两组大型顶点的大型图,我想得到从set1开始到set2结束的所有边,反之亦然。set1和set2是相互排斥的。图形不是定向的,所以我不想有重复的边。我希望避免使用邻接矩阵,但如果邻接矩阵是计算/内存方面最有效的方法,那就没办法了。我知道如何使用邻接矩阵 require(igraph) require(dplyr) graph <- make_full_graph(7) V(graph)$name <- c("A
require(igraph)
require(dplyr)
graph <- make_full_graph(7)
V(graph)$name <- c("A", "B", "C", "D", "E", "F", "G")
set1 <- V(graph)[name %in% c("A", "C")]
set2 <- V(graph)[name %in% c("E", "D")]
#desired Output
A -- E
C -- E
A -- D
C -- D
#desired Output
4 #number of edges
在这种情况下,选择边时可以使用%-%运算符。它将子集从一组顶点到另一组顶点的边。你能行
E(graph)[set1 %--% set2]
# [1] A--D A--E C--D C--E
您可以在igraph es索引帮助页面上找到此文档。似乎我在igraph中查看了所有错误的函数。非常感谢。