使用R做Network Analysis系列一:5-number summary for a network

 

使用R做Network Analysis系列二

這一系列的學習是為了之後分析複雜生物網絡所準備,也是系統生物學中很重要的研究技巧,如何做network analysis,這邊用R 來做操作

正常的descriptive statistic也會有所謂的5-number summary來描述一組資料的基本特性(最大值、最小值、中位數、25th位數、75th位數)。

同樣的道理,當我們面對一個網路,要如何了解他的基本性質也有五大特性可以來看

  • Size:
    簡單來說就是一個network裡頭的節點(可稱作nodes, vertices或是actors),這個是基本上可以讓我們知道一個網絡的大小規模。
  • Density:
    這邊的“密度”是指這網絡中點和點間聯繫數量相對於總數兩兩都連接的比值,也就是說假如有k個點,則當每個點都相互連接,則有k(k-1)的聯繫,在雙向的聯繫網絡中則算是有k(k-1)/2個聯繫,這就是網絡內點與點最大值,而實際上所有點相互間聯繫/點與點都聯繫的值就是這邊的density。
  • Components:
    這邊是指一個網絡中有幾個group,這邊的group裡的點都沒有跟彼此相互聯繫。
  • Diameter:
    這邊看的是這網路中距離最遠的兩個點,其之間經過的節點數
  • Clustering Coefficient
    這項指標就比較難理解一點,這邊看的是網絡裡面的點以特定節點為中心聚合的比例,以三個點互相連結為最小單位,簡單說就是當兩個點都有共同連接點時,這兩個點也相互連接的傾象。

screenshot.png

首先必須先安裝statnet和UserNetR兩個packages,其中UserNetR是這本User’s guide to network analysis in R 裡所有示範資料的packages,而statnet則是做network analysis的package。

library(UserNetR)
library(statnet)
data(Moreno)

先簡單把Moreno這組資料畫圖

gender <- Moreno %v% "gender"
plot(Moreno, vertex.col = gender + 2, vertex.cex = 1.2)

用 network.size函數來看這個network object裡面的節點數

#5-number summary
 #1st: Size
network.size(Moreno)

用gden函數他會算出這network裡頭的density,一個介於0到1的數值,即目前這個網絡中所有連結數量與最大連結數量的比值

 #2nd: Density, range from 0 to 1, unidirect or direct
gden(Moreno)

直接算是這個網絡中幾個無互相聯繫的subgroup

 #3rd: Components, subgroups
components(Moreno)

算出網絡中兩者連結需要經過的最大節點數,並且可以算出整個網絡的cluster coefficient

 #4th: Diameter, how compact the network are
lgc <- component.largest(Moreno,result="graph")
gd  <- geodist(lgc)
max(gd$gdist)
 #5th: Cluster Coefficient, range from 0 to 1 ,measure the transitivity
gtrans(Moreno,mode="graph")

參考資料:Luke, Douglas A. A User’s Guide to Network Analysis in R

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s