我有两个图,我们称它们为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的边缘匹配,以找到这些新的边。问题是我在语法上有问题。(新注册商标)
g1_complement <- complementer(g1)现在我只想得到g2中的新边,而不是g1中的新边。我在考虑这么做。
E(g1_complement)[E(g1_complement) %in% E(g2)]我原以为只会得到新的边,但这会返回所有的g1_complement边。我只把照片当作图书馆。
发布于 2022-01-30 18:47:31
我们可以试试
> E(g2)[!E(g2) %in% E(g1)]
+ 1/7 edge from 9fdc2d2:
[1] 3--5
> E(g2)[setdiff(E(g2), E(g1))]
+ 1/7 edge from 9fdc2d2:
[1] 3--5https://stackoverflow.com/questions/70915128
复制相似问题