gpt4 book ai didi

r - 添加基于另一个网络的边缘属性

转载 作者:行者123 更新时间:2023-12-04 17:42:07 24 4
gpt4 key购买 nike

我有两个基于不同标准的相同顶点的网络。我想根据另一个网络的连接添加其中一个网络的边缘属性。也就是说,如果节点A和B连接在网络2中,我想记下“1”作为网络1中的属性,如果没有连接,记下“0”。我想知道如何使用 R 包或其他软件实现我的目标?欢迎任何建议。非常感谢您的建议!

最佳答案

您可以使用 igraph 包在 R 中执行此操作。既然你没有提供任何数据,我就举个例子。

示例数据

library(igraph)

set.seed(1234)
g1=erdos.renyi.game(10, 0.35)
g2=erdos.renyi.game(10, 0.35)
par(mfrow=c(1,2))
plot(g1)
plot(g2)

Two example graphs

现在我们可以创建您想要的边缘属性。我们将所有值初始化为零,然后遍历 g2 中的每条边。如果相同的边出现在 g1 中,我们将属性更改为 1。

E(g2)$net1 = 0
for(e in E(g2)) {
if(are_adjacent(g1, ends(g2,e)[1], ends(g2,e)[2])) {
E(g2)$net1[e] = 1 }
}

E(g2)$net1
[1] 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
E(g2)[which(E(g2)$net1 > 0)]
+ 4/19 edges from 3bdc176:
[1] 3--4 4--5 4--6 5--7

可以看到属性net1表示共享链接是:
3--4 4--5 4--6 5--7
这与情节一致。

关于r - 添加基于另一个网络的边缘属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53992804/

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