问题描述
library(igraph)
g1 <- make_graph( edges=c("A","B","C","A"),directed=F )
g2 <- make_graph( edges=c("A","A","D"),directed=F )
我想比较g1到g2图的边缘。我想计算完全相同的边数,以及反转的边数(例如,A-> C更改为C-> A,因为在无向网络中都暗示相似的边),并且该数目其他边缘。
是否有一个简单的功能可以进行这种边缘比较?谁能帮我解决这个问题。
解决方法
我想您可以使用as_data_frame
+ intersect
来查看共同的边缘
commEdges <- intersect(as_data_frame(g1),as_data_frame(g2))
给出
from to
1 A B
2 B C
3 A C
,公共边数可以通过nrow(commEdges)
如果您只想知道有多少公共边,一种简单的方法是
> length(intersect(E(g1),E(g2)))
[1] 3