如何通过边列表迭代 igraph R 访问顶点
How to access vertices via edge list iteration igraph R
我正在尝试使用 for 循环访问边中每个顶点对的顶点,如下所示:
for (e in E(G)) { do stuff }
但是,我不知道如何获取e
中的每个顶点。我正在尝试 return 每个顶点的类型,它在顶点列表中。我可以像下面那样获取顶点属性,但我不确定这是否是遍历边列表并获取所有边的好方法:
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)
return 是一个索引,所以这样做是否正确?
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 }
}
我正在尝试使用 for 循环访问边中每个顶点对的顶点,如下所示:
for (e in E(G)) { do stuff }
但是,我不知道如何获取e
中的每个顶点。我正在尝试 return 每个顶点的类型,它在顶点列表中。我可以像下面那样获取顶点属性,但我不确定这是否是遍历边列表并获取所有边的好方法:
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)
return 是一个索引,所以这样做是否正确?
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 }
}