0

次のような for ループを使用して、エッジ内の各頂点ペアの頂点にアクセスしようとしています。

for (e in E(G)) { do stuff }

しかし、 で各頂点を取得する方法がわかりませんe。頂点リストにある各頂点のタイプを返そうとしています。以下のように頂点属性を取得できますが、これがエッジ リストを反復処理してすべてのエッジを取得する適切な方法であるかどうかはわかりません。

i = 1

for (e in get.edgelist(G)) {
    if(V(G)[get.edgelist(G)[i,][1]]$type %in% vector &&
       V(G)[get.edgelist(G)[i,][2]]$type %in% vector ) { do stuff }
    i = i + 1
}

がインデックスを返すことにも気づいたe in E(G)ので、このようにするのは正しいですか?

for (e in E(G)) {
    if(V(G)[get.edgelist(G)[e,][1]]$type %in% vector &&
       V(G)[get.edgelist(G)[e,][2]]$type %in% vector ) { do stuff }
}

最後の例は私が望んでいることだと思いますが、エッジに正しくインデックスを付けていることを確認するための iGraph の仕組みについてはわかりません。アドバイスをいただければ幸いです。前もって感謝します。

4

1 に答える 1