SNA

Social Network Analysis

install.packages("sna")
install.packages("network")
install.packages("igraph")
install.packages("statnet")
library("MASS")


  • how to conver Adjacency Matrix (隣接行列へ)R統計

n <- 10 ; m <- 4
set.seed(1)
M <- matrix(as.logical(rbinom(n*m, size=1, prob = 0.3)), n,m)
symnum(M)

[1,] . . | . 
[2,] . . . . 
[3,] . . . . 
[4,] | . . . 
[5,] . | . | 
[6,] | . . . 
[7,] | | . | 
[8,] . | . . 
[9,] . . | | 
[10,] . | . . 

print.table(A.1 <- tcrossprod(M), zero = ".")
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] 
[1,]    1    .    .    .    .    .    .    .    1     . 
[2,]    .    .    .    .    .    .    .    .    .     . 
[3,]    .    .    .    .    .    .    .    .    .     . 
[4,]    .    .    .    1    .    1    1    .    .     . 
[5,]    .    .    .    .    2    .    2    1    1     1 
[6,]    .    .    .    1    .    1    1    .    .     . 
[7,]    .    .    .    1    2    1    3    1    1     1 
[8,]    .    .    .    .    1    .    1    1    .     1 
[9,]    1    .    .    .    1    .    1    .    2     . 
[10,]    .    .    .    .    1    .    1    1    .     1 

print.table(A.2 <- crossprod(M), zero = ".")
    [,1] [,2] [,3] [,4] 
[1,]    3    1    .    1 
[2,]    1    4    .    2 
[3,]    .    .    2    1 
[4,]    1    2    1    3 

by Martin Maechler, ETH Zurich

SNA in R
install.packages("igraph")
library('igraph')



#graph
library(igraph)
g<-graph.adjacency(myAM,mode="undirected")
V(g)$name<-c("p1","p2","p3","p4","p5")
plot(g,vertex.label=V(g)$name)



#次数分布
plot(degree.distribution(g,mode="in"),log="xy")

##ネットワークの特徴的な量は、
#ノード数
vcount(g)
#エッジ数
ecount(g)
#平均最短距離
average.path.length(g)
#クラスタリング係数
transitivity(g)
#平均次数
sum(degree(g))/vcount(g)












最終更新:2013年05月14日 10:59