【问题标题】:Maximum number of nodes which can be reached from each node in a graph using igraph使用 igraph 从图中的每个节点可以达到的最大节点数
【发布时间】:2020-01-17 11:51:32
【问题描述】:

我想使用 R 中的 igraph 找到图中每个节点可以达到的最大节点数。

例如,我有以下图表:

IGRAPH fb9255f DN-- 4 3 -- + attr: 姓名 (v/c), X (e/l) + 来自 fb9255f 的边(顶点名称): 1 1->2 2->3 2->4

Resulting graph

例如,对于节点 1,我想获取所有可能的列表 可以从它到达的节点(不仅使用一跳)。

在这种情况下,对于节点 1,它将是:[2,3,4]

我已阅读 igraph 文档,但没有看到任何可以提供帮助的功能。

任何帮助将不胜感激。 谢谢

卡洛斯

【问题讨论】:

    标签: r igraph


    【解决方案1】:

    您可以使用subcomponent 函数来计算它。

    由于您没有提供任何数据,我将用一个任意示例进行说明。

    ## Example graph
    library(igraph)
    set.seed(123)
    g = erdos.renyi.game(15, 0.15, directed = TRUE)
    plot(g)
    

    subcomponent 为您提供所有可访问的节点。在这里,我假设您正在使用有向图,并且您的意思是通过沿着有向边前进可以到达。您可以通过将 mode 参数更改为 subcomponent 来更改此设置。

    sort(subcomponent(g, 2, mode="out"))
    + 7/15 vertices:
    [1]  2  5 10 12 13 14 15
    

    如果只想要能达到的节点数,就取长度

    length(subcomponent(g, 2, mode="out"))
    [1] 7
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-29
      • 2017-08-27
      • 2020-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-27
      相关资源
      最近更新 更多