2017-05-21 7 views
1

私はRに慣れていて、次の問題を抱えています。グラフを作成する(ネットワーク解析R)?

ベルギーの政治家をTwitterで研究していて、Twitterで政党内にネットワークが形成されているかどうかを確認したいと考えています。

I持つ2つのデータファイル

  • 政治家がリンクされているかどうかを含むマトリックスファイルを (politicixpolitici.csv)
  • そのそれぞれの fistname、名前を持つすべてのpolticiansを含むファイル、政党、twitterhandleと議会
    (data.csv)

私はネットワークを示すグラフを作成したいのですが、とその政党によって色付けされたノード(この変数はdata.csvファイルの 'fractie'と呼ばれます)。次のように私はこれをやってみました

まず、私は次のようにファイルを結合しようとしました:

rownames(politicicsv) <- politicicsv[,'TwitterHandle'] 
test <- cbind(politicixpolitici, 
       politicicsv[, "Fractie"][match(rownames(politicixpolitici), 
              rownames(politicicsv))]) 

=>私はこのネットワークをプロットしましたが、それは出てきます非常にお粗末で、その名前はそこにあり、それは非常に見ることが難しく+ノードが当事者によって明白に着色されていない+です。

その後、私はstatnetを使用して、それを試してみたが、私は、グラフを作成したいとき、私は頂点属性の作成に問題があった:

fractie <- get.vertex.attribute(politicicsv, "Fractie") 

Error in get.vertex.attribute(politicicsv, "Fractie") : 
    get.vertex.attribute requires an argument of class network. 

誰かがこのネットワークをプロットで私を助けることができます、ノードは彼らが属している政党( "フラクタル")に応じて着色されていますか?

ファイルがhere

を見つけることができますが、これは私の論文で私を助けるだろう、ありがとうございます。

+0

"politicixpolitici.csv"がありません。 – lukeA

+1

ちょうどもう一度アップロードしました、今はそこにいる必要があります:) –

答えて

1

誰かが彼らが属する政党(「Fractie」)によると 色のノードと、このネットワークをプロットで私を助けることができますか?

あなたはこの

df <- read.csv("data.csv") 
m <- as.matrix(read.csv2("politicixpolitici.csv", row.names = 1)) 
library(igraph) 
g <- simplify(graph_from_adjacency_matrix(m)) 
# Color palette: 
(pal <- setNames(
    colorRampPalette(categorical_pal(8))(nlevels(df$Fractie)), 
    levels(df$Fractie))) 
#   CD&V Ecolo-Groen   Groen   N-VA Onafhankelijke 
# "#E69F00"  "#81ADA3"  "#33ABB9"  "#18A56E"  "#C0D64B" 
#  Open vld  Open Vld   sp.a    VB Vlaams Belang 
# "#77AB7A"  "#2A6D8E"  "#BF5F11"  "#CF6E64"  "#BC82A2" 
# Vuye&Wouters 
# "#999999" 
V(g)$color <- pal[df$Fractie[match(V(g)$name, df$TwitterHandle)]] 
set.seed(1); coords <- layout_with_fr(g) 
plot(g, 
    layout=coords, vertex.label.cex=.2, vertex.size=2, 
    edge.arrow.size=0, edge.lty="blank", asp = 0) 

または対話型プロットしてみてくださいようにそれを行うことができます:すべての私はgephiや他のレイアウトを試して、あなたのグラフをエクスポートし、お勧めしたいすべてで

library(visNetwork) 
visIgraph(g) %>% 
    visIgraphLayout(layout="layout.norm", layoutMatrix = coords, type = "full") 

をインタラクティブに視覚化します。

+0

ありがとう、これは大きな助けになります! :) –

関連する問題