在 igraph 中存储顶点的顺序

Storing the order of vertices in igraph

我尝试将我的图表数据存储在 R 中:

g<- graph.formula(1-2,1-3,2-3,2-4,2-7,3-4,3-6,3-7,3-8,3-9,3-10,4-8,4-9,5-6,5-7,5-8,6-7,6-8,6-9,6-10,7-8,7-9,8-9,8-10)

在 R 中使用 igraph 包

但是,在查看顶点的顺序时:

V(g)$name

它returns:

 "1"  "2"  "3"  "4"  "7"  "6"  "8"  "9"  "10" "5" 

我可以知道我需要如何输入数据以使其以升序形式显示吗?

不确定这背后的原因是什么,但这里有两个选择:


选项 1:在创建图表时重新排序公式:

g1<- graph.formula(1-2,1-3,2-3,2-4,5-6,7-8,8-9,8-10,2-7,3-4,3-6,3-7,3-8,3-9,3-10,4-8,4-9,5-7,5-8,6-7,6-8,6-9,6-10,7-9)
V(g1)$name

选项 2:提取边列表并用它创建一个新图:

# get.edgelist(g1) returns the structure below.
edges <- structure(c("1", "1", "2", "2", "2", "3", "3", "3", "3", "3", 
            "3", "4", "4", "5", "5", "5", "6", "6", "6", "6", "7", "7", "8", 
            "8", "2", "3", "3", "4", "7", "4", "6", "7", "8", "9", "10", 
            "8", "9", "6", "7", "8", "7", "8", "9", "10", "8", "9", "9", 
            "10"), .Dim = c(24L, 2L))
g2 <- graph(edges=edges)
V(g2)$name

两者输出:

[1] "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9"  "10"