我想在igraph中进行网络分析,但在将数据集转换为边缘列表(带有权重)时存在一些问题,因为给定的数量不同列。数据集看起来如下(当然要大得多):首先是主操作员ID(主操作员也可以是合伙人,反之亦然,因此Ids在邻接中保持不变)挑战在于合作伙伴的数量有所不同(从0到40)。使用igraph创建邻接网络矩阵(或列表)igraph
IdMain IdPartner1 IdPartner2 IdPartner3 IdPartner4 .....
1 4 3 2 NA
2 3 1 NA NA
3 1 4 7 6
4 9 6 3 NA
.
.
我的问题是如何将其转化成具有重量的边缘名单这是无向(只是表达交互):
Id1 Id2 weight
1 2 2
1 3 2
1 4 1
2 3 1
3 4 2
. .
有谁有什么尖走的最好方法是什么?提前谢谢了!
你可以尝试重新描述一下你的问题,使它更清楚你的数据集是什么,以及你想如何将它转换成图表?我很难看到您提供的初始数据集将如何转换为您提供的邻接矩阵或边界列表。我可以看到邻接矩阵和边界列表描述了同一个图,我只是没有看到如何将初始数据转换为该图。 –
此外,即使这不是你问题的一部分,不管你使用邻接矩阵还是边缘列表来描述你的图形,都不是一个任意的选择,所以你应该考虑你的情况,哪一个更适合你https: //stackoverflow.com/questions/2218322/what-is-better-adjacency-lists-or-adjacency-matrices-for-graph-problems-in-c –
谢谢@Slowloris,鉴于数据集的大小,我认为是一个边界列表更好。我现在编辑了这个问题,我希望有更多的清晰。 –