将igraph的名称属性从字符转换为数字

时间:2016-06-04 06:53:20

标签: r igraph

给出一个名称类型为string的图表:

graph.toy <- make_empty_graph(n=9)
graph.toy <- add_edges(graph.toy, c(2,1,
                                  3,1,
                                  4,2,
                                  5,1,
                                  6,5,
                                  7,2,
                                  8,1,
                                  9,6))

V(graph.toy)$name <- c('d', 'a', 'b', 'e', 'c', 'f', 'g', 'h', 'i')

想象一下,我们想要用一个表示字母顺序的整数重新标记节点:

int.labels <- rank(V(graph.toy)$name)
# [1] 4 1 2 5 3 6 7 8 9

如何将name属性从字符更改为数字?困难在于igraph保留了第一种属性。

V(graph.toy)$name <- int.labels
# [1] "4" "1" "2" "5" "3" "6" "7" "8" "9"

由于它是name属性,我们无法将其设为NULL然后重新构建它,因为它会丢失图形结构。

0 个答案:

没有答案