net|R语言中的网络可视化( 三 )


net|R语言中的网络可视化
本文插图

# 添加一条边 add.edge(net,2,3)# 画出来 plot(net,vertex.cex=10, displaylabels=T) net|R语言中的网络可视化
本文插图

# 添加两个点 【net|R语言中的网络可视化】add.vertices(net,2) # 画出来 plot(net,vertex.cex=10, displaylabels=T)
net|R语言中的网络可视化
本文插图

# 模拟一个5*12的数据框 df <- matrix(rnorm(60),5) # 用邻接矩阵直接生成网络 dfcor <- cor(df) # 去掉低相关性边 dfcor[dfcor<0.5] <- 0 netcor <- as.network(dfcor,matrix.type = 'adjacency') plot(netcor) net|R语言中的网络可视化
本文插图

# 增加节点/边属性 set.vertex.attribute(netcor, "class", length(netcor$val):1) set.edge.attribute(netcor,"color",length(netcor$mel):1) # 可视化属性 plot(netcor,vertex.cex=5,vertex.col=get.vertex.attribute(netcor,"class"),edge.col=get.edge.attribute(netcor,'color'))
net|R语言中的网络可视化
本文插图

igraph 版
set.seed(110) library(igraph) # 生成一个3节点网络 net <- graph.empty(n=3, directed=TRUE) # 画出来 plot(net)
net|R语言中的网络可视化
本文插图

# 添加两条边 new_edges <- c(1,3, 2,3) net <- add.edges(net, new_edges) # 画出来 plot(net) net|R语言中的网络可视化
本文插图

# 添加两个点 net <- add.vertices(net, 2) # 画出来 plot(net) net|R语言中的网络可视化
本文插图

# 模拟一个5*12的数据框 df <- matrix(rnorm(60),5) # 用邻接矩阵直接生成网络 dfcor <- cor(df) # 去掉低相关性边 dfcor[dfcor<0.5] <- 0 net <- graph.adjacency(dfcor,weighted=TRUE,diag=FALSE) plot(net)
net|R语言中的网络可视化
本文插图

# 增加节点/边属性 V(net)$name <- letters[1:vcount(net)] E(net)$color <- "red" E(net)[ weight < 0.7 ]$width <- 2 E(net)[ weight < 0.7 ]$color <- "green" # 可视化属性 plot(net) net|R语言中的网络可视化
本文插图

网络可视化只是网络分析的基础 , 也只有理解了其基础才能更好进行下一步的分析 , 很多基于网络稳定性分析还有网络群组分析都是可以基于更基础的概率图模型来进行 。 这些分析都有明确的背景问题来源 , 但涉及的知识点非常多 , 从统计物理到图论到随机过程 , 不过如果带着自己的问题去探索 , 总会有新的发现 。


推荐阅读