2017-06-19 7 views
0

次の問題があります。人と人との間の個人的な接続に関する情報を含むかなり大きなネットワークがあります。頂点の属性の1つは、居住地の町です。私は今、異なる町の人々がつながっているかどうかを見たいと思っています。私が得たいと思う結果の種類は、これらのつながりを表すプロットです。それは私が探していたものの一例を示すために最も簡単かもしれません:Rとigraph:どの種類の頂点属性にエッジがあるかを示すプロットを作成する

Example image

y軸は彼らの友情を表し、一方、したがって、この場合には、x軸は、異なる町から人々を表すことになり。ニューヨークの人が東京の人と友達であれば、[ニューヨーク、東京]に点が描かれます。これは、偶然性係数の上に追加情報を与えることができるでしょう。

似たような表現を記事で見たことがありますが、igraphを使ってRで作成する方法は全くわかりません。隣人や近隣のコマンドを見ていましたが、作成方法を理解できませんでしたまだこのようなものです。ヘルプは高く評価されるだろう。

編集:再現するために使用できるサンプルコード:

g <- erdos.renyi.game(25, 1/10)
V(g)$location <- c("NY", "Tokyo", "Madrid", "Berlin", "NY", "Tokyo", "Madrid", "Berlin", "NY", "Tokyo", "Madrid", "Berlin", "NY", "Tokyo", "Madrid", "Berlin", "NY", "Tokyo", "Madrid", "Berlin", "Berlin", "NY", "Tokyo", "Madrid", "Berlin")

+2

それは助けるために簡単です[再現可能な例](https:// stackoverf low.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を使用して、可能なソリューションをテストするためのサンプル入力データを作成します。 – MrFlick

+0

返信いただきありがとうございます。あなたはこのような無作為なサンプルグラフを使うことができると思います: 'g < - erdos.renyi.game(25、1/10)' 'V(g)$ location < - c(" NY "、" Tokyo " 「マドリード」、「ベルリン」、「NY」、「マドリード」、「ベルリン」、「NY」、「東京」、「マドリード」、「ベルリン」、「NY」、「東京」、 「マドリード」「ベルリン」「NY」「東京」「マドリード」「ベルリン」「ベルリン」「NY」「東京」「マドリード」「ベルリン」) – suedbaden

答えて

2

ここでは、あなたがas_long_data_frameを使って何ができるかです:

df<- apply(as_long_data_frame(g),2,as.character) 
colnames(df) <- c("from","to","from_city","to_city") 
df <- as.data.frame(df) 
ggplot(df,aes(x=from_city,y=to_city))+ 
    geom_jitter(position = position_jitter(width = 0.1, height = 0.1)) 

enter image description here

+0

これは私の問題を解決しました。どうもありがとう! – suedbaden

関連する問題