合并r中的有向和无向边缘列表

时间:2018-03-03 11:29:19

标签: r igraph

我有以下想要合并的网络(无向和定向):

无向

   id1 id2 link1
1   1 984      0
2   1 883      1
3   1 941      0
4   1 650      0
5   1 132      1
6   1 601      0

定向

   id1 id2
1   1  55
2   1 205
3   1 272
4   1 494
5   1 779
6   1 894

我想合并网络1和网络2中的链接以获取以下(无向)

   id1 id2 link1 link2
1   1 984      0   1
2   1 883      1   0
3   1 941      1   0
4   1 650      0   1
5   1 132      1   1
6   1 601      0   1

我尝试使用as.undirected,然后使用get.edge.attribute,但我没有获得与第一个网络合并的完整观察列表

关于如何做的任何想法?

1 个答案:

答案 0 :(得分:1)

如果我正确理解了问题,那么

gd$link2 <- 1
gm <- merge(gu, gd, all = TRUE)
gm[is.na(gm)] <- 0
gm
#    id1 id2 link1 link2
# 1    1  55     0     1
# 2    1 132     1     0
# 3    1 205     0     1
# 4    1 272     0     1
# 5    1 494     0     1
# 6    1 601     0     0
# 7    1 650     0     0
# 8    1 779     0     1
# 9    1 883     1     0
# 10   1 894     0     1
# 11   1 941     0     0
# 12   1 984     0     0

其中gu是无向图,gd是有向图,gm是结果图。