igraphで隣接行列を与えて有向グラフを作成してみた!!

$ R


library(igraph)



dg1 <- matrix(c(0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0), nrow=4, ncol = 4, byrow = TRUE)

dg1
     [,1] [,2] [,3] [,4]
[1,]    0    1    1    0
[2,]    1    0    1    0
[3,]    0    0    0    0
[4,]    1    0    0    0

class(dg1)
[1] "matrix"

colnames(dg1) <- 1:4
rownames(dg1) <- 1:4

dg1
  1 2 3 4
1 0 1 1 0
2 1 0 1 0
3 0 0 0 0
4 1 0 0 0


#igraphのパッケージでは、隣接行列をそのままネットワークデーとして用いることができないので、隣接行列からigraphで利用可能なigraphオブジェクトを生成する必要がある。


g1 <- graph.adjacency(dg1)

#adjacencyとは”隣接”という意味!


g1
Vertices: 4
Edges: 5
Directed: TRUE
Edges:
             
[0] '1' -> '2'
[1] '1' -> '3'
[2] '2' -> '1'
[3] '2' -> '3'
[4] '4' -> '1'


class(g1)
[1] "igraph"


png("110214.g1.png")
plot.igraph(g1)
dev.off()