問題タブ [igraph]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - グラフ/ネットワーク内の接続された各コンポーネントに関数を適用するにはどうすればよいですか?
大きなigraphオブジェクトが70,000以上の頂点(ノード)と200,000以上のエッジ(接続)を持っています。中心性の測定値を計算したいのですが、ネットワークが大きすぎます。回避策としては、ネットワークを接続されたコンポーネントに分割することをお勧めします(最大のものでもそれほど大きくはありません)。
igraph関数クラスターまたは関連するメソッドの使用を考えていました。次に、クラスターでalpha.centrality()とbonpow()を計算できますか?次に、結果を元のigraphオブジェクトにマージしますか?(またはすべての頂点を持つデータフレーム)
最善のアプローチがわからないので、人々のアイデアを聞いてみたいと思います。どうもありがとう :)
networking - igraph ネットワーク プロット (layout=fruchterman.reingold) でエッジを長くするにはどうすればよいですか?
R でネットワーク プロットを実行しようとしています。IGraph を使用してネットワーク グラフのエッジを長くするにはどうすればよいですか?
私は実際には fruchterman-reingold レイアウトを使用したいと考えています。頂点がさらに離れているように、その力ベースのアルゴリズムを「弾力性」のあるものにする方法はありますか?
ありがとう。
r - ネストされたモデルのグラフ化
たとえば、データセットで cv.glmnet を実行すると、(デフォルトで) 100 の異なるモデルが得られます。ここで、データセットに欠損データがある場合、複数の代入 (たとえば 10 回の代入) を実行し、それぞれの代入で cv.glmnet を実行できます。
各モデルの実際の係数値を無視して、選択した機能 (つまり列名のセット) だけを見ると、一部のモデルは他のモデルのサブモデルです。
このようなコードは、結果をいくらか模倣します。
この点で、サブモデルの親子関係を取得するのは簡単です。「直接の親子関係」のみを含めることもできます (つまり、モデル A が B の子であり、B が C の子である場合、A と C の間の関係は含めないでください)。
最後に、私の問題に行き着きます。これらのモデルとそれらの (直接的な) 関係をプロットするために igraph を使用しました。ただし、別の変数 (この場合はモデル サイズ) に基づいてノードをグループ化できるレイアウトは見つかりませんでした。この設定では、同じモデルのモデルの「バンド」を保持するこのグラフを作成することをお勧めします。サイズ (モデル内の変数の数)。
私が最終的にやったのは、多かれ少なかれ、コードの塊を使って自分で各ノードの位置を計算することでした(ここに投稿するのは恥ずかしすぎます)が、単に良い/アウトを見逃したのではないかといつも思っていました-すぐに使えるソリューション。
私自身のコードは、次のようなグラフになりました (色とラベルは無視してかまいません。横軸がモデルのサイズを保持していることだけは知っておいてください)。
この種のグラフを自分ですべてのハードワークを行うよりもエレガントに実現するための提案は、非常に高く評価されます。
graph - 重みから導出されたアドホックエッジプロパティ
グラフのクラスタリングに(Python経由で)igraphを使用しています。
重み付きエッジを持つツリー(幾何学的グラフの最小全域木)があり、エッジが削除された場合に、重みに2つのコンポーネントの少数の頂点を掛けたものを計算したいと思います。
私の質問は次のとおりです。
これはグラフ理論で知られている(そして名前が付けられている)プロパティですか?もしそうなら、それは何ですか?
上記のように、すべてのエッジについてこれを計算すると、私のコードは非常に非効率的です。グラフが50000のエッジと頂点になると、メモリ消費量が膨大になります。最適化するための提案はありますか?
python - igraphをインポートするときにAttributeErrorを解決する方法は?
プロジェクトに igraph パッケージをインポートすると、AttributeError が発生します。これは、プロジェクト ディレクトリでのみ発生します。
プロジェクト ディレクトリに igraph.py ファイルはありません。
また、循環インポートはありません。
このエラーを解決するにはどうすればよいですか?
r - ファイルからエッジを読み取る。グラフを定義できません
私はRの初心者です。igraphライブラリを使用しています。私はそのようなライブラリを使用するのは初めてです。
私は問題があります:
テキストファイルにエッジのリストがあります。2つの列があります。最初のノードには初期ノードがあり、2番目のノードには終了ノードがあります。
私は次のファイルを読んでいます:
読み取りは成功しました。
ls.str(g1)
私が得ると:
ロードされたばかりのエッジでグラフを定義しようとすると、次のようになります。
上記のエラーを回避して、ファイルの端からグラフを定義するにはどうすればよいですか?
macos - Mac10.6でigraphをインポートできません
MacにPython用のigraphをインストールしましたが、インポートできません。最初にCコアライブラリをインストールし、次に次のようにしてPythonのインストールを進めました。
すべてが正常に機能しているように見えましたが、Pythonシェルからigraphをインポートできません。明確にするために、私はigraphソースコードのフォルダ内にいません。そして、私はこのエラーを受け取りました:
フォルダの名前を*に置き換えたので、考慮しないでください。
私はOS10.6.7上でpython2.7を実行しています。したがって、利用可能なigraphのコンパイル済みバージョンはありません(2.5および2.6のみ)。このエラーは、私が実行しているPythonバージョンと関係がありますか?可能であれば、どうすればこれを解決できますか?
r - クラスタリング係数が私のプログラムと igraph R のライブラリと異なるのはなぜですか?
無向グラフのクラスタリング係数 [ CC ] (ローカルおよびグローバル) をドット形式で計算するプログラムを C++ でコーディングしています。私の問題は、私のプログラムの結果がRからの出力と一致しないことです( igraphライブラリを使用):
私のプログラム:
ここで、「」はグラフのノードであり、(n/m) の数字は「その近傍内の頂点間のリンク」(n) と「それらの間に存在する可能性のあるリンクの数」(m) です。それぞれ (ウィキペディアからの説明) R からの出力:
各行の最初の数字はNode、2 番目はローカルCCで、3 番目は出力と一致しない場合の注釈です ( Rに一致するように追加/削除する必要があるリンク (n) の数を指定します)の出力)。
私が抱えている2番目の問題は、 RからのグローバルCCが私の定義またはウィキペディアの定義と一致しないことです(式を誤解していない限り)。このグラフのRからの出力は0.458891で、私のものは0.742です
だから私はそれを手動で行いました.8のCCを計算し、プログラムの出力と一致させました. だから私の質問は、「igraph ライブラリにバグがある可能性さえありますか?」ということです。答えが「いいえ」の場合: 「何が足りないのですか?」
グラフ ファイルは次のとおりです。
RでCCを計算する方法は、たとえば、グラフを var "f" にロードする (または、ドット ファイルを読み取ることができないため、新しいグラフを生成する) ことであり、グローバルCCおよび推移性 ( f、「ローカル」)ローカルのもの。
読んでくれてありがとう。下手な英語でごめんなさい。
python - Python用のigraphを使用した一般的なネイバーと優先アタッチメントスコアマトリックス
Pythonで一般的なネイバー(CC)と優先アタッチメント(PA)のマトリックススコアを計算する効率的な方法はありますか?igraphを使用して、jaccardの係数(Graph.similarity_jaccard())、dice(Graph.similarity_dice)、adamic / adar(Graph.similarity_inverse_log_weighted())などの他のメソッドのスコアマトリックスを計算していますが、関数が見つかりません。 CCとPAのスコアマトリックスを計算します。
現在私がしていること:
しかし、私の場合は非常に大きいネットワーク内のすべてのエッジ(i、j)に対してこれを行う必要があります。
私が探しているそのようなスコア行列を生成する数学的な行列演算を誰かが知っているなら、私も感謝します。
python - Python の igraph で切断されたグラフを読み取る
igraph for python を使用して、切断された無向グラフを読み取る最良の方法を知りたいです。たとえば、0 が 1 にリンクされ、2 が他のノードに接続されていない単純なグラフがあるとします。すべての行がエッジでなければならないため、igraph でエッジリスト形式 (Graph.Read_Edgelist(...)) から読み取ることができませんでした。したがって、次のことは許可されていません。
この場合、隣接行列が私の唯一の/最良のオプションであるかどうか疑問に思っていました(この表現で機能させることができます)? データを見て理解できる形式の方がいいです(マトリックス形式になると非常に難しいものです)。
前もって感謝します!