5

1から10までの名前のグラフがあります

library(igraph)
library(Cairo)

    g<- graph(c(0,1,0,4,0,9,1,7,1,9,2,9,2,3,2,5,3,6,3,9,4,5,4,8,5,8,6,7,6,8,7,8),n=10,dir=FALSE)
    V(g)$name<-c(1:10)
    V(g)$label<-V(g)$name
    coords <- c(0,0,13.0000,0,5.9982,5.9991,7.9973,7.0009,-1.0008,11.9999,0.9993,11.0002,7.9989,13.0009,10.9989,14.0009,5.9989,14.0009,7.0000,4.0000)
    coords <- matrix(coords, 10,2,byrow=T)
    plot(g,layout=coords)

listMn<-neighborhood(g,1,0:9)

私はこれをやりたいのですが、逆の方法で

m1<-V(g)[listMn[[7]]]$name

上記の指示は、

7 4 8 9

listMn[[7]]=6 3 7 8 を名前 7 4 8 9 から取得する方法は?

4

1 に答える 1

2

ノードの番号付けは 0 から始まります: listMn[[7]]7 番目のノード (番号 6、名前 7) の隣接ノードの番号、つまり 6、3、7、8 を与え、名前に対応します (番号に 1 を追加) 7、4、8、 9.

名前に文字列を使用すると、混乱が少なくなる場合があります。

V(g)$name <- as.character( 1:10 )
于 2012-04-12T23:24:49.570 に答える