2

get.edgelist()コマンドの出力をigraphRで解釈する方法を知りたい.

たとえば、ランダムなグラフを生成します。

a=erdos.renyi.game(100,0.5, directed=TRUE)
a=get.edgelist(a)

これにより、2 つの列が得られます。最初の列はノードを表し、2 番目の列は対応する接続​​を表すと思います。

しかし、一部の数値は 2 番目の列でのみ表され、最初の列では表されないため、これは当てはまらないようです。どうすればいいの?

4

1 に答える 1

1

小さな例を作ることで、それは明らかになるでしょうか?

set.seed(45)
g <- erdos.renyi.game(10, 0.5, directed = TRUE)
> get.adjacency(g)
10 x 10 sparse Matrix of class "dgCMatrix"

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

edges <- as.data.frame(get.edgelist(g))
edges <- edges[order(edges$V1, edges$V2), ]
> head(edges, 11)
   V1 V2
7   1  2
18  1  4
34  1  7
39  1  8
42  1  9
1   1 10
19  2  4
28  2  6
35  2  7
40  2  8
43  2  9

row 1からへのエッジがあることが隣接行列からわかります。2,4,7,8,9,10これは からの出力にも反映されますget.edgelist。隣接行列の内容を正確に示します。

> table(edges$V1)
# 1  2  3  4  5  6  7  8  9 10 
# 6  5  5  6  3  5  4  5  5  5 
于 2013-01-22T21:00:39.107 に答える