使用graph.adjacency创建igraph对象不会保留每个节点的程度?

时间:2014-05-13 09:17:11

标签: r igraph

我有一个邻接矩阵形式的网络,我正在尝试创建一个显示网络程度分布的图表。

首先,我使用了函数" 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

1 个答案:

答案 0 :(得分:0)

您可能会对边缘进行重复计算,因为您的矩阵可能是对称的。或许你的矩阵不是二进制的。很难说清楚,因为你没有提供可重复的例子,所以我们不知道矩阵中有什么。

请参阅How to make a great R reproducible example?