2017-06-19 45 views
0

所以我得到了以下问题:我有一个相当大的网络,其中包含有关人与人之间个人连接的信息。其中一个顶点属性是他们的居住城镇。我现在想看看不同城镇的人们之间是否有联系。我想得到的结果是一种代表这些联系的情节。这可能是最容易表现出的一个例子就是我一直在寻找:R和igraph:创建一个图表,显示哪一种顶点属性之间存在边界

Example image

因此,在这种情况下,X轴将代表从不同的城市人,而y轴表示他们的友谊。所以如果一个来自纽约的人与来自东京的人交朋友,就会在[纽约,东京]画一个点。这将能够给我更多的信息,以配合系数的顶部。

我以前在文章中看到过类似的表示,但我完全不知道如何在R上使用igraph创建它们。我正在查看邻居或邻居命令,但我一直无法弄清楚如何创建像这样的东西呢。帮助将不胜感激。

编辑:可用于复制示例代码:

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 “马德里”“柏林”“纽约”“东京”“马德里”“柏林”“纽约”“东京”“马德里”“柏林”“纽约”“东京”马德里,柏林,纽约,东京,马德里,柏林,柏林,纽约,东京,马德里,柏林) – 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

相关问题