gpt4 book ai didi

r - 匹配 2 个图中的边

转载 作者:行者123 更新时间:2023-12-01 23:05:47 24 4
gpt4 key购买 nike

我有 2 个图,我们称它们为 g1 和 g2。图 g2 与 g1 具有相同的结构,但包含 g1 中不存在的新边。我必须找到这些边缘。

g1 <- graph(edges=c(1,2,2,3,1,3,3,4,2,4,1,5), n=5, directed=FALSE)
g2 <- graph(edges=c(1,2,2,3,1,3,3,4,2,4,1,5,3,5), n=5, directed=FALSE)

在本例中,我要寻找的是边缘 3--5。

到目前为止,我想到使用 g1 的补集,然后将其与 g2 的边进行匹配以找到这些新边。问题是我在语法上遇到了问题。 (R 新手)

g1_complement <- complementer(g1)

现在我只想获取 g2 中但不在 g1 中的新边。我正在考虑这样做。

E(g1_complement)[E(g1_complement) %in% E(g2)]

我原本期望只获得新的边,但这会返回所有 g1_complement 边。我只使用 igraph 作为库。

最佳答案

请使用 igraph 库中的 difference() 函数找到以下一种可能的解决方案。

Reprex

library(igraph)

g1 <- graph(edges=c(1,2,2,3,1,3,3,4,2,4,1,5), n=5, directed=FALSE)
g2 <- graph(edges=c(1,2,2,3,1,3,3,4,2,4,1,5,3,5), n=5, directed=FALSE)


difference(g2, g1)
#> IGRAPH 9fb5e8c U--- 5 1 --
#> + edge from 9fb5e8c:
#> [1] 3--5

reprex package 于 2022 年 1 月 30 日创建(v2.0.1)

关于r - 匹配 2 个图中的边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70915128/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com