如何通过边列表迭代IGR访问顶点

如何通过边列表迭代IGR访问顶点,r,attributes,igraph,vertex,edge-list,R,Attributes,Igraph,Vertex,Edge List,我尝试使用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)[g

我尝试使用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(G)中的
e
返回一个索引,这样做正确吗

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 }
}

我相信最后一个例子符合我的要求,但我不确定IGRAPHE的机制是否正确地索引了边。如有任何建议,将不胜感激。提前感谢。

总结边缘频率,这似乎有效:

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 }
}