1 基于R的网络分析

  • Visualizing netowrks with Powerpoint.
  • Introducing igraph pacage with R.
  • Using the Gephi.

2 Do not Forget Powerpoint

  • Xiangyu Chang, Danyang Huang, and Hansheng Wang. A Popularity Scaled Latent Space Model for Network Structure Formulation. Statistica Sinica (accepted). 2018

3 R package: igraph

  • igraph is a collection of network analysis tools with the emphasis on efficiency, portability and ease of use. igraph is open source and free. igraph can be programmed in R, Python and C/C++.

  • igraph has three basic functionalities.
    • Generating networks
    • Visualizing networks
    • Mining networks

4 Generating Networks

library(igraph)
g1 <- graph.empty()
g2 <- graph( c(1,2,2,3,3,4,5,6), directed=TRUE )
g3 <- graph.star(10, mode="out")
g4 <- graph.lattice(c(5,5))
g5 <- graph.lattice(length=5, dim=2)
g6 <- graph.ring(10)
g7 <- graph.tree(10, 2)
g8 <- graph.full(5, loops=TRUE)
g9 <- graph.full.citation(10)
g10 <- graph.atlas(sample(0:1252, 1))
el <- matrix( c("foo", "bar", "bar", "foobar"), nc=2, byrow=TRUE)
g11 <- graph.edgelist(el)
g12 <- graph.extended.chordal.ring(15, matrix(c(3,12,4,7,8,11), nr=2))

5 Visualization

  • plot(): plot does simple non-interactive 2D plotting to R devices.

  • tkplot(): does interactive 2D plotting using the tcltk package. It can only handle graphs of moderate size, a thousand vertices is probably already too many.

  • rglplot(): is an experimental function to draw graphs in 3D using OpenGL.

g2 <- graph( c(1,2,2,3,3,4,5,6), directed=TRUE )
plot(g2)

g3 <- graph.star(10, mode="out")
plot(g3)

g5 <- graph.lattice(length=5, dim=2)
plot(g5)

g6 <- graph.ring(10)
plot(g6)

g7 <- graph.tree(10, 2)
plot(g7)

g8 <- graph.full(5, loops=TRUE)
plot(g8)

g12 <- graph.extended.chordal.ring(15, matrix(c(3,12,4,7,8,11), nr=2))
plot(g12)

test <- read.csv('block4.csv', 
                 head = FALSE, stringsAsFactors = FALSE)
g <- graph.data.frame(test,directed = FALSE)
plot(g,vertex.size=5,layout=layout.fruchterman.reingold,vertex.shape='circle', vertex.label.cex=1.0, vertex.label.color='black', vertex.label=NA) 

#classic random graphs
g13 <- erdos.renyi.game(100,2/100,type='gnp')
plot(g13,layout=layout.fruchterman.reingold,
     vertex.size=5,vertex.label=NA)

#preferential attachment and variations
g14 <- barabasi.game(100)
plot(g14,layout=layout.fruchterman.reingold,
     vertex.size=5,vertex.label=NA,edge.arrow.size=0.1)

Plotting parameters

NODES 描述
vertex.color Node color
vertex.frame.color Node border color
vertex.shape One of “none”“circle”“square”“csquare”“rectangle”“crectangle”“vrectangle”“pie”“raster”“sphere”
vertex.size Size of the node (default is 15)
vertex.size2 The second size of the node (e.g. for a rectangle)
vertex.label Character vector used to label the nodes
vertex.label.family Font family of the label (e.g.“Times”, “Helvetica”)
vertex.label.font Font: 1 plain, 2 bold, 3, italic, 4 bold italic, 5 symbol
vertex.label.cex Font size (multiplication factor, device-dependent)
vertex.label.dist Distance between the label and the vertex
vertex.label.degree The position of the label in relation to the vertex where 0 right, “pi” is left, “pi/2” is below, and “-pi/2” is above
EDGES 描述
edge.color Edge color
edge.width Edge width, defaults to 1
edge.arrow.size Arrow size, defaults to 1
edge.arrow.width Arrow width, defaults to 1
edge.lty Line type, could be 0 or “blank”, 1 or “solid”, 2 or “dashed”, 3 or “dotted”, 4 or “dotdash”, 5 or “longdash”, 6 or “twodash”
edge.label Character vector used to label edges
edge.label.family Font family of the label (e.g.“Times”, “Helvetica”)
edge.label.font Font: 1 plain, 2 bold, 3, italic, 4 bold italic, 5 symbol
edge.label.cex Font size for edge labels
edge.curved Edge curvature, range 0-1 (FALSE sets it to 0, TRUE to 0.5)
arrow.mode Vector specifying whether edges should have arrows,possible values: 0 no arrow, 1 back, 2 forward, 3 both
OTHER 描述
margin Empty space margins around the plot, vector with length 4
frame if TRUE, the plot will be framed
main If set, adds a title to the plot
sub If set, adds a subtitle to the plot
plot(g14, edge.arrow.size=.2,vertex.color="red", vertex.size=8, vertex.frame.color="gray", vertex.label.color="black",vertex.label.cex=0.4, vertex.label.dist=2, edge.curved=0.2) 

get.adjacency(g14)
## 100 x 100 sparse Matrix of class "dgCMatrix"
##                                                                           
##   [1,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [2,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [3,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [4,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [5,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [6,] . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [7,] . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [8,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [9,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [10,] . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [11,] . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . .
##  [12,] . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . .
##  [13,] . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . .
##  [14,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [15,] . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [16,] . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [17,] . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [18,] . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . .
##  [19,] . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [20,] . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . .
##  [21,] . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [22,] . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [23,] . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . .
##  [24,] . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . .
##  [25,] . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . .
##  [26,] . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . .
##  [27,] . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . .
##  [28,] . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . .
##  [29,] . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . .
##  [30,] . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [31,] . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . .
##  [32,] . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . .
##  [33,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [34,] . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [35,] . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . .
##  [36,] . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [37,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [38,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [39,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . .
##  [40,] . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . .
##  [41,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . .
##  [42,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [43,] . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . .
##  [44,] . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . .
##  [45,] . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . .
##  [46,] . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [47,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [48,] . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . .
##  [49,] . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . .
##  [50,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [51,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [52,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [53,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [54,] . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [55,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [56,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [57,] . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . .
##  [58,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [59,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [60,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [61,] . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [62,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [63,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [64,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [65,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [66,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [67,] . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . .
##  [68,] . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . .
##  [69,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [70,] . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . .
##  [71,] . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . .
##  [72,] . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . .
##  [73,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [74,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [75,] . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [76,] . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . .
##  [77,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [78,] . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . .
##  [79,] . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . .
##  [80,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [81,] . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . .
##  [82,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [83,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [84,] . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . .
##  [85,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [86,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [87,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [88,] . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . .
##  [89,] . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . .
##  [90,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 .
##  [91,] . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . .
##  [92,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [93,] . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . .
##  [94,] . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . .
##  [95,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
##  [96,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [97,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [98,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [99,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [100,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##                                                                           
##   [1,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [2,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [3,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [4,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [5,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [6,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [7,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [8,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [9,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [10,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [11,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [12,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [13,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [14,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [15,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [16,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [17,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [18,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [19,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [20,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [21,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [22,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [23,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [24,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [25,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [26,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [27,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [28,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [29,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [30,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [31,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [32,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [33,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [34,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [35,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [36,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [37,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [38,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [39,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [40,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [41,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [42,] . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [43,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [44,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [45,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [46,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [47,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [48,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [49,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [50,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [51,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [52,] . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . .
##  [53,] . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [54,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [55,] . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . .
##  [56,] . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [57,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [58,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [59,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [60,] . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [61,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [62,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [63,] . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . .
##  [64,] . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . .
##  [65,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [66,] . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . .
##  [67,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [68,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [69,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . .
##  [70,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [71,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [72,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [73,] . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . .
##  [74,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . .
##  [75,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [76,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [77,] . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . .
##  [78,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [79,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [80,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . .
##  [81,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [82,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [83,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [84,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [85,] . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [86,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
##  [87,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [88,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [89,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [90,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [91,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [92,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [93,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [94,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [95,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [96,] . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . .
##  [97,] . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [98,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 .
##  [99,] . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . .
## [100,] . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . .
##                                                                       
##   [1,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [2,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [3,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [4,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [5,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [6,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [7,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [8,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##   [9,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [10,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [11,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [12,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [13,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [14,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [15,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [16,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [17,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [18,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [19,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [20,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [21,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [22,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [23,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [24,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [25,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [26,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [27,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [28,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [29,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [30,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [31,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [32,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [33,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [34,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [35,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [36,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [37,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [38,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [39,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [40,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [41,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [42,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [43,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [44,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [45,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [46,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [47,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [48,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [49,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [50,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [51,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [52,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [53,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [54,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [55,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [56,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [57,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [58,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [59,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [60,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [61,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [62,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [63,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [64,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [65,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [66,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [67,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [68,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [69,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [70,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [71,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [72,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [73,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [74,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [75,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [76,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [77,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [78,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [79,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [80,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [81,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [82,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [83,] 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [84,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [85,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [86,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [87,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [88,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [89,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [90,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [91,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [92,] . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [93,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [94,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [95,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [96,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [97,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [98,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
##  [99,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
## [100,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
get.edgelist(g14)
##        [,1] [,2]
##   [1,]    2    1
##   [2,]    3    1
##   [3,]    4    1
##   [4,]    5    1
##   [5,]    6    2
##   [6,]    7    2
##   [7,]    8    1
##   [8,]    9    1
##   [9,]   10    2
##  [10,]   11    9
##  [11,]   12   11
##  [12,]   13   11
##  [13,]   14    1
##  [14,]   15    2
##  [15,]   16    3
##  [16,]   17    2
##  [17,]   18   12
##  [18,]   19    3
##  [19,]   20   14
##  [20,]   21    2
##  [21,]   22    4
##  [22,]   23   11
##  [23,]   24   21
##  [24,]   25   11
##  [25,]   26    9
##  [26,]   27    9
##  [27,]   28   24
##  [28,]   29   15
##  [29,]   30    2
##  [30,]   31   20
##  [31,]   32   14
##  [32,]   33    1
##  [33,]   34    7
##  [34,]   35   12
##  [35,]   36    2
##  [36,]   37    1
##  [37,]   38   35
##  [38,]   39   29
##  [39,]   40   22
##  [40,]   41   29
##  [41,]   42   40
##  [42,]   43   11
##  [43,]   44   11
##  [44,]   45   11
##  [45,]   46    5
##  [46,]   47    1
##  [47,]   48   26
##  [48,]   49   20
##  [49,]   50    1
##  [50,]   51    1
##  [51,]   52   48
##  [52,]   53   36
##  [53,]   54    2
##  [54,]   55   51
##  [55,]   56   42
##  [56,]   57   14
##  [57,]   58    1
##  [58,]   59    1
##  [59,]   60   39
##  [60,]   61    2
##  [61,]   62    1
##  [62,]   63   51
##  [63,]   64   46
##  [64,]   65    1
##  [65,]   66   51
##  [66,]   67   11
##  [67,]   68   26
##  [68,]   69   66
##  [69,]   70   14
##  [70,]   71   11
##  [71,]   72   18
##  [72,]   73   46
##  [73,]   74   64
##  [74,]   75    3
##  [75,]   76   14
##  [76,]   77   46
##  [77,]   78   26
##  [78,]   79   11
##  [79,]   80   64
##  [80,]   81   18
##  [81,]   82    1
##  [82,]   83   69
##  [83,]   84   23
##  [84,]   85   41
##  [85,]   86   68
##  [86,]   87    1
##  [87,]   88   16
##  [88,]   89   11
##  [89,]   90   33
##  [90,]   91   11
##  [91,]   92   73
##  [92,]   93   20
##  [93,]   94   14
##  [94,]   95   34
##  [95,]   96   54
##  [96,]   97   41
##  [97,]   98   67
##  [98,]   99   42
##  [99,]  100   46

6 Reading Network Data

6.1 Edgelist

nodes <- read.csv("netscix2016/Dataset1-Media-Example-NODES.csv", header=T, as.is=T)
links <- read.csv("netscix2016/Dataset1-Media-Example-EDGES.csv", header=T, as.is=T)
head(nodes)
##    id               media media.type type.label audience.size
## 1 s01            NY Times          1  Newspaper            20
## 2 s02     Washington Post          1  Newspaper            25
## 3 s03 Wall Street Journal          1  Newspaper            30
## 4 s04           USA Today          1  Newspaper            32
## 5 s05            LA Times          1  Newspaper            20
## 6 s06       New York Post          1  Newspaper            50
head(links)
##   from  to weight      type
## 1  s01 s02     10 hyperlink
## 2  s01 s02     12 hyperlink
## 3  s01 s03     22 hyperlink
## 4  s01 s04     21 hyperlink
## 5  s04 s11     22   mention
## 6  s05 s15     21   mention
nrow(nodes)
## [1] 17
length(unique(nodes$id))
## [1] 17
nrow(links)
## [1] 52
nrow(unique(links[,c("from", "to")]))
## [1] 49
g_1 <- graph.data.frame(d = links,directed = F,vertices = nodes)
plot(g_1, layout=layout.fruchterman.reingold,vertex.label.cex = 0.4)

7 Mining Graph

  • graph atrribute

  • Computing features of graphs

  • Community Detection

  • Link Prediction

g <- barabasi.game(30)
degree(g)
>  [1]  9 11  1  4  1  1  1  3  2  1  3  1  1  1  1  1  1  1  3  1  1  1  1
> [24]  1  1  1  1  1  1  1
E(g)
> + 29/29 edges from 8df9025:
>  [1]  2-> 1  3-> 2  4-> 2  5-> 1  6-> 2  7-> 1  8-> 1  9-> 2 10-> 1 11-> 2
> [11] 12->11 13-> 2 14-> 8 15-> 9 16-> 2 17-> 4 18-> 1 19-> 2 20-> 8 21-> 1
> [21] 22-> 4 23-> 2 24-> 1 25->19 26-> 2 27->19 28-> 1 29->11 30-> 4
V(g)
> + 30/30 vertices, from 8df9025:
>  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
> [24] 24 25 26 27 28 29 30
shortest.paths(g, v = 1)
>      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
> [1,]    0    1    2    2    1    2    1    1    2     1     2     3     2
>      [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24]
> [1,]     2     3     2     3     1     2     2     1     3     2     1
>      [,25] [,26] [,27] [,28] [,29] [,30]
> [1,]     3     2     3     1     3     3
  • Centrality: closeness(), betweenness() and page.rank()

  • Community Detection: walktrap.community(), spinglass.community() and egde.betweenness.community()

  • Others

karate <- make_graph("Zachary")
wc <- cluster_walktrap(karate)
modularity(wc)
## [1] 0.3532216
membership(wc)
##  [1] 1 1 2 1 5 5 5 1 2 2 5 1 1 2 3 3 5 1 3 1 3 1 3 4 4 4 3 4 2 3 2 2 3 3
plot(wc, karate)

  • Xiangyong Cao, Xiangyu Chang and Yuewen Liu. Community Detection for Clustered Attributed Graphs via a Variational EM Algorithm. The 3rd ASE Conference series on Big Data Science and Computing, August 4-7, 2014.

  • Yuewen Liu, Ke Xu, Xiangyu Chang, Dehai Di and Wayne Wei Huang. Social Network Analysis based on Canteen Transaction Records. Statistics and Its Interface, 2018.

8 作业

  • 安装包sand

  • 载入包sand

library(sand)
  • 载入数据aidsblog
data(aidsblog)
summary(aidsblog)
## This graph was created by an old(er) igraph version.
##   Call upgrade_graph() on it to use with the current igraph version
##   For now we convert it on the fly...
## IGRAPH NA D--- 146 187 --
  • 任务1:计算这个图的节点数与边数
## [1] 146
## [1] 187
  • 任务2:使用某种布局可视化这个网络结构
## This graph was created by an old(er) igraph version.
##   Call upgrade_graph() on it to use with the current igraph version
##   For now we convert it on the fly...
## This graph was created by an old(er) igraph version.
##   Call upgrade_graph() on it to use with the current igraph version
##   For now we convert it on the fly...
## This graph was created by an old(er) igraph version.
##   Call upgrade_graph() on it to use with the current igraph version
##   For now we convert it on the fly...

  • 任务3:使用某种布局可视化这个网络结构

  • 任务4:计算这个network的度分布并画度的直方图
## This graph was created by an old(er) igraph version.
##   Call upgrade_graph() on it to use with the current igraph version
##   For now we convert it on the fly...
## This graph was created by an old(er) igraph version.
##   Call upgrade_graph() on it to use with the current igraph version
##   For now we convert it on the fly...
## This graph was created by an old(er) igraph version.
##   Call upgrade_graph() on it to use with the current igraph version
##   For now we convert it on the fly...

  • 任务5:画节点度和对应的度分布的图(使用log-scale)
## This graph was created by an old(er) igraph version.
##   Call upgrade_graph() on it to use with the current igraph version
##   For now we convert it on the fly...
## This graph was created by an old(er) igraph version.
##   Call upgrade_graph() on it to use with the current igraph version
##   For now we convert it on the fly...
## This graph was created by an old(er) igraph version.
##   Call upgrade_graph() on it to use with the current igraph version
##   For now we convert it on the fly...
##   [1]  1  1  1  1  1  1 43  1  1  1  1 23  1  1  1  1  1  1  1  1  1  1  1
##  [24]  1  1  1  1  1  1  1  1  1  1  1  1  1 16  1  1  1  1  1  1  1  1  1
##  [47]  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
##  [70]  1  1  1 19  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
##  [93]  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
## [116]  1  1 26  1  1  1  2  2  2  3  4  6  2  5  2  2  2  2 18  2  2  2  2
## [139]  3  4  3 18 36  2  3  2
## This graph was created by an old(er) igraph version.
##   Call upgrade_graph() on it to use with the current igraph version
##   For now we convert it on the fly...
## This graph was created by an old(er) igraph version.
##   Call upgrade_graph() on it to use with the current igraph version
##   For now we convert it on the fly...
## This graph was created by an old(er) igraph version.
##   Call upgrade_graph() on it to use with the current igraph version
##   For now we convert it on the fly...

  • 任务6: 你观察到度分布在log变换下有什么特性?为什么?