2012-10-13 1 views
9

私はedgelist形式のネットワークを表す次のtxtファイルを持っています。igraphを使用して加重edgelistをインポートする

最初の2列は、通常のを表す:3列目は、各ノードが他に接触した回数を表す重みを表し、他のノードれる

に接続されているノード。

私はigraphのドキュメントを検索しましたが、txtのような標準的なファイルフォーマットをインポートする際に重みの引数を含める方法は記述されていません。

ファイルがhereからアクセスすることができ、これは私が使用してきたコードです:

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

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

解決策を知っている人はいますか?

答えて

9

次の原因はあまりにも面倒ですか?

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

それは、直接ファイルから、あなたはPythonとIGRAPHを使用している場合は、次のコード行は、重みと頂点名をインポートするために働く

g<-read.graph("Irvine/OClinks_w.txt",format="ncol") 
E(g)$weight 
+1

をこれらの両方は私のために働きました。受け入れられるはずです... – pocketfullofcheese

1

を使用することができない場合:

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"]) 
+0

これはPythonでポスターはRを使用していました –

+0

説明をありがとう! – user217558

+0

私はPythonを望んで以来、非常に有用です。ありがとう – nealmcb

関連する問題