给出一个名称类型为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然后重新构建它,因为它会丢失图形结构。