11

Edgelist 形式のネットワークを表す次の txt ファイルがあります。

最初の 2 つの列は、通常、どのノードが他のどのノードに接続されているかを表します。

3 番目の列は重みを表し、各ノードが他のノードと接触した回数を表します。

ドキュメントを検索しましたigraphが、txt などの標準ファイル形式をインポートするときに重みの引数を含める方法については言及されていません。

ファイルはここからアクセスできます。これは私が使用しているコードです。

read.graph("Irvine/OClinks_w.txt", format="edgelist")

このコードは、3 番目の列を重量以外のものとして扱います。

誰かが解決策を知っていますか?

4

2 に答える 2

13

次のことはあまりにも迷惑を引き起こしますか?

g <- read.table("Irvine/OClinks_w.txt")
g <- graph.data.frame(g)

その場合は、ファイルから直接使用できます

g<-read.graph("Irvine/OClinks_w.txt",format="ncol")
E(g)$weight
于 2012-10-13T17:19:42.727 に答える
3

Python と igraph を使用している場合、次のコード行は重みと頂点名をインポートするために機能します。

g1w=Graph.Read_Ncol("g1_ncol_format_weighted.txt",names=True)

注: で名前属性を読み取るように igraph に指示する必要がありますnames=True。そうしないと、頂点番号だけがインポートされます。

g1_ncol_format_weighted.txt は次のようになります。

A B 2
B C 3

インポートが正しく機能していることを確認するには、次の行を使用します。

print(g1w.get_edgelist())
print(g1w.es["weight"])
print(g1w.vs["name"])
于 2013-07-16T22:26:29.103 に答える