我正在iGraph R中使用degree
函数,并得到以下结果
G<-read.graph("sample.graphml", format="graphml")
degree(G)
> degree(G)
[1] 2 18 6 15 64 64 11 36 53 63 54 54 47 72 86 46 55 17
[19] 9 14 13 6 14 17 14 8 16 8 20 13 14 17 13 17 13 2
这些值是为每个节点计算的度,但是不显示相应的节点ID。我浏览了该函数的说明,但仍然找不到输出节点ID的参数。
dput(G)
structure(list(6, FALSE, c(1, 3, 5, 3, 4, 5, 5), c(0, 0, 1, 1,
2, 2, 4), c(0, 1, 3, 4, 2, 5, 6), c(0, 1, 3, 2, 4, 5, 6), c(0,
0, 1, 1, 3, 4, 7), c(0, 2, 4, 6, 6, 7, 7), list(c(1, 0, 1), structure(list(), .Names = character(0)),
structure(list(id = c("6", "4", "2", "5", "1", "3")), .Names = "id"),
list()), <environment>), class = "igraph")
> degree(G)
[1] 2 3 2 2 2 3
答案 0 :(得分:1)
输出是每个节点的度,使用其节点号作为顺序。如果只需要节点号,则没有太多理由打印数字1至36。但是,如果可用,degree
将打印出节点 name 作为输出中元素的名称。例如,
## Sample graph
library(igraph)
set.seed(1234)
G = erdos.renyi.game(8, 0.35)
## make sure that each node has a name
V(G)$name = LETTERS[1:8]
## Display degree
degree(G)
A B C D E F G H
1 2 2 4 5 1 2 3
添加内容以响应添加的示例
首先,您似乎未使用igraph
的当前版本。我建议更新到当前版本。但是,就像我前面的示例一样,您可以通过使用顶点的name
属性来获得所需的内容。在您的示例中,未显示节点名称。
degree(G)
[1] 2 3 2 2 2 3
但是,如果我将id
转移到name
,则学位序列会标上名称。
V(G)$name = V(G)$id
degree(G)
6 4 2 5 1 3
2 3 2 2 2 3
第一行是ID /名称。最下一行是度。