2017-05-15 8 views
1

を作成するために、特定のノードとエッジの設定:私はこのデータセットを有するグラフネットワーク

article1 article2 article3 
R1 R1 R20 
R2 R13 R5 
R3 R7 R21 
R4 R8 R22 
R5 R14 R8 
R11 R15 R23 
R12 R9 R24 
R6 R10 R25 
    R2 R10 
    R6 R9 
    R16 R26 
    R17 R27 
    R4 R28 
    R18 R29 
    R19 R3 
     R30 
     R31 
     R1 
     R32 
     R7 
     R33 

R1,2がエッジとしてarticles1,2,3ノードとしてIはIGRAPHを使用してグラフネットワークを作成したいと思います、...

igraphでどのようにノードとエッジを設定してグラフを作成することが可能ですか?

私は、データセット内のすべてのRの周波数を計算しているし、ここにリストがある:

R frequency 
R1 3 
R2 2 
R3 2 
R4 2 
R5 2 
R6 2 
R7 2 
R8 2 
R9 2 
R10 2 
R11 1 
R12 1 
R13 1 
R14 1 
R15 1 
R16 1 
R17 1 
R18 1 
R19 1 
R20 1 
R21 1 
R22 1 
R23 1 
R24 1 
R25 1 
R26 1 
R27 1 
R28 1 
R29 1 
R30 1 
R31 1 
R32 1 
R33 1 
+0

読むには、その後、 ')(' IGRAPH :: graph_from_data_frameを参照してください。 – zx8754

+0

@ zx8754ありがとうございます。やってみます。しかし、なぜ私は「長くて長い」必要があるのですか?私が間違っていなければ、これは溶けますか? – Astetr

+0

はい、「溶かす」、このオプションをもっと見るにはこちらをご覧ください:[ワイドからロングフォーマット](http://stackoverflow.com/questions/2185252)。グラフを使って関係を表示するには、記事1,2,3がどのように接続されている必要はありませんか? – zx8754

答えて

2

は、この例を試してみてください。ここで

library(dplyr) 
library(tidyr) 
library(igraph) 

graphDat <- df1 %>% 
    gather(key = "From", "To", na.rm = TRUE) %>% 
    graph_from_data_frame() 

plot(graphDat) 

enter image description here

は、より多くのための素晴らしいリソースですnetwork plot options

データ "ワイドロングへ" からのデータを整形について

df1 <- read.table(text = "article1 article2 article3 
R1 R1 R20 
        R2 R13 R5 
        R3 R7 R21 
        R4 R8 R22 
        R5 R14 R8 
        R11 R15 R23 
        R12 R9 R24 
        R6 R10 R25 
        NA R2 R10 
        NA R6 R9 
        NA R16 R26 
        NA R17 R27 
        NA R4 R28 
        NA R18 R29 
        NA R19 R3 
        NA R30 NA 
        NA R31 NA 
        NA R1 NA 
        NA R32 NA 
        NA R7 NA 
        NA R33 NA 
        ", header = TRUE, stringsAsFactors = FALSE) 
関連する問題