R 和 igraph:创建显示哪种顶点属性之间有边的图
R and igraph: Creating a plot showing which kind of vertex attributes have edges between them
所以我遇到了以下问题:我有一个相当大的网络,其中包含有关人与人之间的个人联系的信息。顶点属性之一是他们居住的城镇。我现在想看看来自不同城镇的人之间是否存在联系。我想要得到的结果是一个代表这些联系的情节。显示我正在寻找的示例可能是最简单的方法:
所以在这种情况下,x 轴代表来自不同城镇的人,而 y 轴代表他们的友谊。所以如果一个纽约人和一个东京人是朋友,就会在 [New York, Tokyo] 上画一个点。这将能够 tp 给我关于分类系数的额外信息。
我以前在文章中看到过类似的表示,但我完全不知道如何在 R 上使用 igraph 创建它们。我正在查看 neighbors 或 neighborhood 命令,但我一直无法弄清楚如何创建这样的东西呢。非常感谢您的帮助。
编辑:可用于重现的示例代码:
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")
以下是您可以使用 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))
所以我遇到了以下问题:我有一个相当大的网络,其中包含有关人与人之间的个人联系的信息。顶点属性之一是他们居住的城镇。我现在想看看来自不同城镇的人之间是否存在联系。我想要得到的结果是一个代表这些联系的情节。显示我正在寻找的示例可能是最简单的方法:
所以在这种情况下,x 轴代表来自不同城镇的人,而 y 轴代表他们的友谊。所以如果一个纽约人和一个东京人是朋友,就会在 [New York, Tokyo] 上画一个点。这将能够 tp 给我关于分类系数的额外信息。
我以前在文章中看到过类似的表示,但我完全不知道如何在 R 上使用 igraph 创建它们。我正在查看 neighbors 或 neighborhood 命令,但我一直无法弄清楚如何创建这样的东西呢。非常感谢您的帮助。
编辑:可用于重现的示例代码:
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")
以下是您可以使用 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))