全文链接: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]#分割巴士站点信息