R和igraph:创建一个图表,显示哪种顶点属性在它们之间有边缘

时间:2017-06-19 18:02:02

标签: r social-networking igraph

所以我遇到了以下问题:我有一个相当大的网络,其中包含有关人与人之间个人关系的信息。其中一个顶点属性是他们的居住城镇。我现在想看看来自不同城镇的人之间是否存在联系。我想得到的结果是一个代表这些联系的情节。最简单的展示我正在寻找的东西:

Example image

所以在这种情况下,x轴代表来自不同城镇的人,而y轴代表他们的友谊。因此,如果来自纽约的人是来自东京的人的朋友,则会在[纽约,东京]画一个点。这将能够在协调系数之上给我额外的信息。

我之前在文章中看过类似的表示,但我完全不知道如何使用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")

1 个答案:

答案 0 :(得分: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

相关问题