問題タブ [network-analysis]

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.

0 投票する
1 に答える
877 参照

javascript - Cytoscape.js を使用してすべてのノードで中心性関数を実行する

グラフ上のすべてのノードについて、次数、近さ、中間中心性を計算する必要があります。cy.ready()現在、イベント後に各ノードで Cytoscape.js に組み込まれている関数を使用しています。ただし、グラフが非常に大きいため (250 以上のノード、650 以上の接続)、計算に時間がかかりすぎます。誰でもより効率的な方法を提案できますか?

0 投票する
1 に答える
33 参照

networking - SAS データの再編成 - ある列から別の列への情報のリンク

村の名前、市場、教会、病院のデータセットがあります。市場、教会、病院には直接名前が付けられていません。むしろ、村ごとにリストされているため、村の名前に直接リンクできます。座標は村ごとにのみ表示されます。村の GPS 座標がそれぞれの市場、教会、病院にリンクされるように、SAS のデータセットを再編成する必要があります。

これは、私がやろうとしていることのより良い視覚化です:

このデータセットを変換します。

市場と教会の座標 (元の村の座標に基づく) 用に新しく作成された列を使用して、次のように表示されます。

ここでは書式設定が少し奇妙であることはわかっているので、これらのサンプル テーブルの画像をいくつか示します。

元のテーブル:

希望のテーブル:

これについて何か光を当ててくれてありがとう!

0 投票する
1 に答える
904 参照

r - igraph R の cluster_infomap が毎回異なるコミュニティを提供するのはなぜですか?

R の igraph の cluster_infomap 関数を使用して、最大 19,000 のエッジを持つ無向で重み付けされていないネットワーク内のコミュニティを検出していますが、関数を実行するたびに異なる数のコミュニティが得られます。これは私が使用しているコードです:

私が実行したテストでは、コードの最後の行の結果は 805 ~ 837 の範囲です。乱数生成の問題かと思いset.seed()を使ってみましたが、これでは解決しません。

私の質問は、(1)毎回異なるコミュニティを取得するのはなぜですか、(2)それを安定させる方法はありますか?

ありがとう!

0 投票する
1 に答える
447 参照

r - データフレームから SNA の隣接行列を作成する

次のように構造化された csv から、ソーシャル ネットワーク分析 (igraph の graph_from_adjacency_matrix を使用する可能性が高い) で使用する隣接行列を作成したいと考えています (ただし、はるかに大きい):

ネットワーク分析では、ノードは名前変数になり、ノードは一緒に投票する頻度 (1 または 0) によって接続されます。何かのようなもの:

これは単純に思えますが、このデータフレームを igraph グラフ オブジェクトの作成に使用できる隣接行列に変換できませんでした。as.matrix と data.matrix はそれを行列に変換しますが、隣接行列ではなく、「名前」変数の文字を保持するものではありません。私の行列代数は強力ではないので、明らかな何かが欠けている可能性があることはわかっていますが、それが何であるかを知るには十分ではありません。私は、ネットワーク分析の最終目標に到達するための他のソリューションに対してオープンです。

0 投票する
1 に答える
1260 参照

r - R: 2 次元点群の 2 点間の最短測地線パスを見つける

Vincent Zoonekind によって記述された 2 つの関数 (ここで見つけることができます) を使用して、次のグラフを作成しました (私のコードは記事の最後にあります)。

隣接する 3 つのポイントに接続されたポイント

その近傍グラフとそのパラメーター「k」が何であるかを説明できるようにするために、Isometric Feature Mappingが使用します。「k」は、各ポイントが直接接続されているポイントの数を指定します。それらの距離は、互いのユークリッド距離です。任意の点とその (k + 1) に最も近い点 (またはさらに離れた点) の間の距離は「測地線」と呼ばれ、そこに到達するために必要なすべてのエッジの長さの最小の合計です。これは、ユークリッド距離よりもはるかに長い場合があります。これは、私の図のポイント A と B の場合です。

ここで、点 A から点 B までの測地線距離を示す黒い線を追加したいと思います。線を追加するのにsegments()おそらく最適なコマンドについて知っています。 ) は Dijkstra のアルゴリズムであり、パッケージに実装されていることigraph。ただし、igraphグラフを解釈することも、渡す必要があるポイント (頂点) (およびその座標) を自分で見つけることもできません。

ところで、k = 18 の場合、つまりすべての点が最も近い 18 点に直接接続されている場合、A と B の間の測地線距離はちょうどユークリッド距離になります。


0 投票する
0 に答える
379 参照

gephi - Gephi でカテゴリ属性によってノードを結合する

Gephi で組織構造を視覚化する作業を行っています。過去に一緒に働いたことがあるかどうかによって接続された個人のグラフがあります。個人をグラフ化するのは良さそうに見えますが、カテゴリ属性 (部門; 文字列) に基づいてノード (個人) を結合したいと考えています。新しいグラフ、または少なくともビジュアライゼーションには、部門ごとにノードがあり、できればそれを構成する個人の数に比例した数値の重みが付けられます。

これは、インポートする前にグラフ ファイルを生成するスクリプトで行うことができます。しかし、私はまさにこれを約 1 年前に完全に Gephi で行いました。機能が削除された (円グラフのように!) か、忘れてしまった (可能性が高い)。

Gephi 0.9.1 を使用しています。どんな助けでも大歓迎です。