2017-05-17 15 views
1

igraph(R)の非常に基本的な問題は、ノードIDの名前の変更です。igraph R頂点IDが変更される

たとえば、以下のグラフがエッジゲルの形で表示されます。

10,12 
10,14 
12,14 
12,15 
14,15 
12,17 
17,34 
17,100 
100,34 

各ノードのローカルクラスタリング係数を計算します。最初に私はオブジェクトgのedgelistをreadcsvで読みました。次に、次のコマンドを使用して、各ノードのローカルCCをダンプします。

write.csv(transitivity(g,type="local"),file="DumpLocalCC.csv") 

さて問題は、IGRAPHは、ノードIDは1から始まり、私は今、私がidは何をしているノード毅然とすることができますどのように出力

"","x" 
"1",NA 
"2",0.333333333333333 
"3",0.333333333333333 
"4",0.333333333333333 
"5",1 
"6",1 
"7",1 

を以下の取得に変更しますか?つまり、出力ファイルの7が100または34を指している場合ですか? とにかく、igraphに10,34,100などの実際のノードIDとそれぞれのローカルCCをダンプするように強制できますか?

私はグーグルで、人々はnodeidsを保存するために "V(g)$ name < - as.character(V(g))"を提案しました。私はしかし、私はそれを正しく使用していないと思った。 また、データが大きいので、nodeidsを手作業で変更して1 ...自分自身にするのは嫌です。

P.s:Here同様の質問がありました。これらの数値を頂点名として割り当てることが推奨されています。 どうすればいいですか? 誰かがそれを例示することができますか?

別の同様の質問this(私はその似たような疑問を理解しています)が、問題を開くように提案されました。これが解決されたかどうかはわかりません。

ありがとうございます。

+0

あなたは(適切[再現可能な例]を提供する場合、それはあなたを助けるために容易になるだろうhttp://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible -example)をコピーしてRに貼り付けてテストすることができます。グラフオブジェクトの作成方法を正確に表示します。 – MrFlick

+0

エッジリストが提供されました。私はそれを読むために次のコードを使用しています DF < - read.csv( "PATH OF EDGELIST.csv") g < - graph.DF(advice_data_frame)以上私はどのようにクラスター係数(推移性)を計算しているのかの例を示しました。それをファイルにダンプする – raj

答えて

3

テーブルを書き込むときには、統計情報とノード名を組み合わせてください。例えば

DF <- read.csv(text="10,12 
    10,14 
    12,14 
    12,15 
    14,15 
    12,17 
    17,34 
    17,100 
    100,34", header=FALSE) 
g <- graph.data.frame(DF) 
outdata <- data.frame(node=names(V(g)), trans=transitivity(g, type="local")) 
write.csv(outdata, file="DumpLocalCC.csv") 
+0

おかげで!これは問題を解決しました。 – raj

関連する問題