跳到内容

[Experimental]

图的中心是具有最小离心率的顶点集合。

用法

graph_center(graph, ..., weights = NULL, mode = c("all", "out", "in", "total"))

参数

graph

输入图,可以是定向图或无向图。

...

这些点用于未来的扩展,并且必须为空。

weights

可能是一个数值向量,给出边的权重。如果这是NULL,并且该图具有weight边属性,则将使用该属性。如果这是NA,则不使用权重(即使该图具有weight属性)。在加权图中,路径的长度是其组成边的权重之和。

mode

字符常量,指示应该为有向图计算到给定顶点的最短路径还是从给定顶点计算最短路径。如果为out,则考虑顶点的最短路径,如果为in,则考虑该顶点的最短路径。如果为all(默认值),则该图被视为无向图,即不考虑边的方向。对于无向图,将忽略此参数。

中心顶点的顶点 ID。

graph_center_dijkstra().

示例

tree <- make_tree(100, 7)
graph_center(tree)
#> + 2/100 vertices, from 68e1f9b:
#> [1] 1 2
graph_center(tree, mode = "in")
#> + 1/100 vertex, from 68e1f9b:
#> [1] 1
graph_center(tree, mode = "out")
#> + 85/100 vertices, from 68e1f9b:
#>  [1]  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34
#> [20]  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53
#> [39]  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72
#> [58]  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91
#> [77]  92  93  94  95  96  97  98  99 100

# Without and with weights
ring <- make_ring(10)
graph_center(ring)
#> + 10/10 vertices, from 2f6cc06:
#>  [1]  1  2  3  4  5  6  7  8  9 10
# Add weights
E(ring)$weight <- seq_len(ecount(ring))
graph_center(ring)
#> + 1/10 vertex, from 2f6cc06:
#> [1] 7