通过顶点而不是 R 中的边列表读取图形

read a graph by vertices not as an edge list in R

解释一下: 我有一个无向图作为边存储在文本文件中,其中每行由两个值组成,代表一个边,例如:

5 10
1000 2
212 420
  .
  . 
  .

通常当从文件中读取 R 中的图时(使用 igraph),它会被读取为边,因此调用图的边 "g" 我们写 E(g) 并调用 "g" 的顶点我们写 V(g) 并调用某条边的两个顶点 (即调用某条边(边 i)) 我们写 E(g)[i].

我的问题:有没有类似的方法只调用边内的一个顶点而不调用它们两个。

例如,如果我需要第三条边上的第二个顶点,那么我需要输入什么? 同样从一开始,igraph 上是否有一些东西可以将图形读取为顶点而不是边缘?喜欢将图形读取为具有两列的 table,这样每条边都可以读取为 X[i][1]、X[i][2].

我需要这个,因为我想在所有顶点之间做一个循环,并从边中单独选择它们,我认为如果每个顶点都被标记为 table 中的一个元素是可能的。

非常感谢您的帮助

如果您有一个包含顶点的两列 table,您可以使用 graph_from_data_frame 将其转换为图形。要获取特定边上的节点,您可以使用 ends.

#DATA
set.seed(2)
m = cbind(FROM = sample(LETTERS[1:5], 10, TRUE), TO = sample(LETTERS[6:10], 10, TRUE))

#Convert to graph
g = graph_from_data_frame(m, directed = FALSE)
#plot(g)

#Second vertex on third edge
ends(graph = g, es = 3)[2]
#[1] "I"