我正在尝试使用这样的循环访问边缘中每个顶点对的顶点:
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的机制要确保我正确地索引了边缘。任何建议将不胜感激。预先感谢。
总结边缘频率这似乎有效:
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 }
}