我有一个邻接矩阵形式的网络,我正在尝试创建一个显示网络程度分布的图表。
首先,我使用了函数" graph.adjacency"从邻接矩阵创建一个igraph对象,我用" degree"获得了每个节点的连通性。功能:
graphobj< -graph.adjacency(adjacencymatrix,mode =" undirected")
degreenetwork< -degree(graphobj)
然后我用另一种方法计算了每个节点的程度:
degreenetwork2< -apply(adjacencymatrix,1,sum)
我注意到节点的程度并不总是保留。事实上,这两种方法为我提供了不同的节点连接价值。例如:
平均(degreenetwork)
[1] 156.068
平均(degreenetwork2)
[1] 78.034
分钟(degreenetwork)
[1] 17
分钟(degreenetwork2)
[1] 0
MAX(degreenetwork)
[1] 521
MAX(degreenetwork2)
[1] 452
有什么问题,或者我没有正确使用igraph包?
此致
的Gianni
答案 0 :(得分:0)
您可能会对边缘进行重复计算,因为您的矩阵可能是对称的。或许你的矩阵不是二进制的。很难说清楚,因为你没有提供可重复的例子,所以我们不知道矩阵中有什么。