1. 程式人生 > >R 網絡圖 nodes,edges屬性計算

R 網絡圖 nodes,edges屬性計算

node 分支 mali HR tid short fas count 之間

前面提到了用R畫網絡圖,免不了要對網絡圖nodes和edges的特征做一些統計。分享下我的代碼:

########## nodes edges的統計###########
# ####nodes的度有三種:點度中心度(degree),接近中心度(closeness),中間中心度(centrality)
routes_tidy <-routes_tidy %>%
activate(nodes) %>%
mutate(degree = centrality_degree())

#degree(routes_tidy,normalized = T) #相對點中心度=絕對點中心度/最大度數
#degree.distribution(routes_tidy) #點度頻率每種點度數的個數/所有點個數
#cc<- betweenness(routes_tidy,normalized = T) #點的中心度
routes_tidy <-routes_tidy %>%
activate(nodes) %>%
mutate(centrality= centrality_eigen())#點的中心度
#接近中心度——點出度、點入度、相對接近中心度
#closeness(g,vids=which(V(g)$label=="c"))


edge.betweenness(routes_tidy) #線的中間中心度

# #
# routes_tidy <-routes_tidy %>%
# activate(nodes) %>%
# mutate(frequency = degree(routes_tidy)/vcount(routes_tidy))#點度頻率每種點度數的個數/所有點個數

giant <- components(routes_tidy)#nodes組成的連通分支

####connectivity####
shortest.paths(routes_tidy)#最短路徑
average.path.length(routes_tidy)#平均最短路徑
edge_density(routes_tidy)#邊的密度
diameter(routes_tidy)#最長最短路徑
aa<-get_diameter(routes_tidy, directed=FALSE, weights=NA)#兩個node之間的最長最短路徑


具體可以參考文檔Week3Lecture.pdf


#####聚類算法#####

#cluster_optimal

#cluster_walktrap
#cluster_edge_betweenness

#cluster_fast_greedy

#cluster_infomap

#cluster_label_prop

#cluster_leading_eigen

#cluster_louvain

#cluster_spinglass

R 網絡圖 nodes,edges屬性計算