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

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

复杂网络系列
我们的复杂网络个人笔记将包含以下几个部分:
• 复杂网络基础知识及网络可视化
• 复杂网络主要几种拓扑关系及应用
• 复杂网络社团挖掘
复杂网络中的基本知识点
• 节点(vertex) : 一个一个散落的点,如每个人可以是一个点,每个url是一个点。
• 边 (edge): 连接点与点直接的线;边是节点与节点之间的关系表示。
• 度(degree):某个节点的度是指与该连接相连接的其他节点的个数;
• 平均度:所有节点的度之和除以节点个数
• 节点的聚类系数:某个节点的邻集节点个数,这些节点之间的边数与这些节点之间可能存在的最大边上之比。
• 最短路径:节点之间边数最少的路径
• 平均路径:所有节点对之间的距离的平均值
• 点介数:通过该节点的最短路径的条数
• 边介数:通过该边的最短路径的条数
• 核数:反复去掉一个网络图中度数小于等于K的节点后,剩下的子图。如果一个节点存在K-核,而在K+1 -核中被去掉,则该节点的核数为K
基本的复杂网络结构
• 规则网络
• ER随机图
• 小世界网络
• BA无标度网络
复杂网络可视化

data=read.csv("test.csv",header =TRUE)
head(data)
from to freq
收藏夹书签 进入 1071
微博微信等社交客户端 进入 759
第三方广告 进入 418
APP 进入 267
搜索引擎 进入 252
进入 付费视频 547

• 基础图

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

用R语言进行复杂网络可视化_第2张图片

• 数据为随机生成的。

复杂网络可视化
• 根据数值改变边的大小,改变颜色,添加值

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)

用R语言进行复杂网络可视化_第3张图片
复杂网络可视化
• 根据节点度的不同,画出不同节点的大小

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))

用R语言进行复杂网络可视化_第4张图片
复杂网络可视化
• 根据节点度的不同,画出不同节点的颜色

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))

用R语言进行复杂网络可视化_第5张图片
复杂网络可视化
• 画出某个节点的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))

用R语言进行复杂网络可视化_第6张图片

关注微信公众号,17找蜜,获取更多数据及招聘资讯。
用R语言进行复杂网络可视化_第7张图片

你可能感兴趣的:(R代码实践,数据科学实战篇)