0

igraph 関数で奇妙な問題が発生しています

非常に高密度 (0.4) の無向グラフ (N=423) があります。igraph から取得した値をテストするために、Gephi を使用しています。

Gephi に確認したところ、どちらも角度と直径は同じであると報告されていますが、igraph は半径と離心率が完全に間違っていると報告しており、本来あるべき値よりもはるかに高い値です。また、半径は常に直径よりも小さいですよね? そして、ここでは大きくなっています:)

> sg <- simplify(graph.edgelist(edges, directed=F))
> radius(sg)
[1] 8
> diameter(sg)
[1] 3
head(eccentricity(sg))
[1] 10 11 10 12 11 14
> str(sg)
IGRAPH U--- 423 41064 -- 
+ edges:
1 --   3   4   6   8   9  15  25  26  28  30  37  38  41  42  47  48  49  50  53  58  63  66  68  69  71  72  76  81  83  87  88  90  95
....etc...
....etc...

Gephies の離心率の値はすべて 2 と 3 で、直径が 3 であるため予想されます :)

何が間違っているのか理解できません。

4

1 に答える 1

3

eccentricityルーチンのバグのようです(radius呼び出しだけなeccentricityので、2 つの問題は関連している可能性があります)。回避策として、shortest.paths(正しく機能しているようです)を使用して、行ごとの最大値を取得して、偏心スコアを取得できます。半径は最小離心率です。

更新:ここでバグ レポートの進行状況を確認できます。

于 2012-11-20T08:41:57.957 に答える