有向图中的特征向量

时间:2017-03-08 07:24:16

标签: r igraph graph-theory directed-graph eigenvector

我想使用igraph包测量R中262000个节点和1M边缘的有向图的特征向量中心性。当我运行命令时,我收到此错误:

> ev<-evcent(amazon,directed=TRUE)
  

.Call中的错误(&#34; R_igraph_eigenvector_centrality&#34 ;, graph,directed,scale,:在arpack.c:1174:ARPACK错误,达到的最大迭代次数De plus:警告消息:In .Call(& #34; R_igraph_eigenvector_centrality&#34;,graph,directed,scale,:在arpack.c:776:ARPACK解算器未能收敛(1001次迭代,0/1特征向量收敛)

我不知道这个错误是什么意思???

1 个答案:

答案 0 :(得分:4)

错误表示它的内容:Maximum number of iterations reached

您可以增加最大迭代次数。这是一个可重复的例子:

首先制作图表:

> g <- make_ring(1000, directed=FALSE)

然后将默认迭代次数设置为一个小数字:

> arpack_defaults$maxiter = 10

将其传递给eigen_centrality并收到错误消息:

> e = eigen_centrality(g, options=arpack_defaults)
Error in .Call("R_igraph_eigenvector_centrality", graph, directed, scale,  : 
  At arpack.c:944 : ARPACK error, Maximum number of iterations reached
In addition: Warning message:
In .Call("R_igraph_eigenvector_centrality", graph, directed, scale,  :
  At arpack.c:776 :ARPACK solver failed to converge (11 iterations, 0/1 eigenvectors converged)

让我们尝试更多的迭代:

> arpack_defaults$maxiter = 1000

看看是否有效:

> e = eigen_centrality(g, options=arpack_defaults)

没有错误!

我不知道您的图表需要多少次迭代,或者需要多长时间。只需继续添加零,直到它收敛并正确返回,或者你放弃,因为它花了太长时间。