我试图使用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的机制,以确保我正确地索引边缘。任何建议将不胜感激。提前谢谢。
答案 0 :(得分:0)
总结边缘频率这似乎有效:
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 }
}