您的位置:首页 > 理论基础 > 计算机网络

用R语言进行复杂网络可视化

2016-11-07 19:34 232 查看
复杂网络简介

现实世界中,网络世界大量存在,铁路线路网络,航空网络,人际关系网络。复杂网络是大量真实复杂系统的拓扑关系。借助复杂网络分析,我们期望可以化繁为简,找到隐藏的拓扑关系新结构,找到节点与节点之间的模式,同时实现数据可视化展示。



复杂网络系列

我们的复杂网络个人笔记将包含以下几个部分:

• 复杂网络基础知识及网络可视化

• 复杂网络主要几种拓扑关系及应用

• 复杂网络社团挖掘

复杂网络中的基本知识点

• 节点(vertex) : 一个一个散落的点,如每个人可以是一个点,每个url是一个点。

• 边 (edge): 连接点与点直接的线;边是节点与节点之间的关系表示。

• 度(degree):某个节点的度是指与该连接相连接的其他节点的个数;

• 平均度:所有节点的度之和除以节点个数

• 节点的聚类系数:某个节点的邻集节点个数,这些节点之间的边数与这些节点之间可能存在的最大边上之比。

• 最短路径:节点之间边数最少的路径

• 平均路径:所有节点对之间的距离的平均值

• 点介数:通过该节点的最短路径的条数

• 边介数:通过该边的最短路径的条数

• 核数:反复去掉一个网络图中度数小于等于K的节点后,剩下的子图。如果一个节点存在K-核,而在K+1 -核中被去掉,则该节点的核数为K

基本的复杂网络结构

• 规则网络

• ER随机图

• 小世界网络

• BA无标度网络

复杂网络可视化

data=read.csv("test.csv",header =TRUE)
head(data)


fromtofreq
收藏夹书签进入1071
微博微信等社交客户端进入759
第三方广告进入418
APP进入267
搜索引擎进入252
进入付费视频547
• 基础图

library(igraph)
data_stru<-graph.data.frame(data)
plot(data_stru)




• 数据为随机生成的。

复杂网络可视化

• 根据数值改变边的大小,改变颜色,添加值

library(igraph)
data_stru<-graph.data.frame(data)

plot(data_stru,edge.width=data$freq/100,edge.color=rainbow(40),edge.arrow.size=2,edge.label=data$freq)




复杂网络可视化

• 根据节点度的不同,画出不同节点的大小

library(igraph)
data_stru<-graph.data.frame(data)

plot(data_stru,edge.width=data$freq/100,edge.color=rainbow(40),edge.arrow.size=2,edge.label=data$freq,vertex.size=degree(data_stru))




复杂网络可视化

• 根据节点度的不同,画出不同节点的颜色

library(igraph)
data_stru<-graph.data.frame(data)
plot(data_stru,edge.width=data$freq/100,edge.color=rainbow(40),edge.arrow.size=2,edge.label=data$freq,vertex.size=degree(data_stru),vertex.color=degree(data_stru))




复杂网络可视化

• 画出某个节点的N层关系

library(igraph)
data_stru<-graph.data.frame(data)
data_degree<-graph.neighborhood(data_stru,1)
plot(data_degree[[6]],edge.width=data$freq/100,edge.color=rainbow(40),edge.arrow.size=2,edge.label=data$freq,vertex.size=degree(data_stru),vertex.color=degree(data_stru))




关注微信公众号,17找蜜,获取更多数据及招聘资讯。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: