如何解决如何使用igraph R包比较两个图以标识两个图之间相同/不同边的数量
我有两个无向图
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。