R语言用igraph对上海公交巴士路线数据进行复杂网络、网络图可视化|数据分享

2022-11-22 20:30:49 浏览数 (1)

全文链接:http://tecdat.cn/?p=30478

原文出处:拓端数据部落公众号

复杂网络简介

现实世界中充满了网络世界,铁路线路网络、航空网络和人际关系网络。复杂网络是大量真实复杂系统的拓扑关系。在复杂网络分析的帮助下,我们期望将复杂的东西简化,找到隐藏的拓扑关系的新结构,找到节点与节点之间的规律,同时将数据可视化。本文中我们被要求对上海公交路线进行可视化。

读取数据

代码语言:javascript复制
ljhdat1=readLines("E:/shanghai_1.txt" )
ljhdat2=readLines("E:/shanghai_2.txt")
ljhdat3=readLines("E:/shanghai_3.txt")
ljhdat4=readLines("E:/shanghai_4.txt")
ljhdat5=readLines("E:/shanghai_5.txt")

建立巴士信息库

代码语言:javascript复制
for(i in 1:length(ljhdat1)){
  
  if(ljhdat1[i]=="")bus=c(bus,ljhdat1[i-1])#提取每个巴士的路线信息

建立路线信息

分割路线得到站点信息

代码语言:javascript复制
route[[1]]=route[[1]][-which(route[[1]]=="#")]#删除#号

建立邻接矩阵

代码语言:javascript复制
library(igraph)

d = data.frame(route[[1]][1:n-1] ,route[[1]][2:n ]

分割所有路线得到站点信息

代码语言:javascript复制
for(i in 1:length(bus)){
route[[i]]=unlist(strsplit(bus[i],split=" "))[-1]#分割巴士站点信息

绘制网络图


0 人点赞