【问题标题】:Induce a subgraph while keeping nodes' name/id在保留节点的名称/ID 的同时诱导子图
【发布时间】:2021-08-06 09:19:59
【问题描述】:

假设我有一个这样的图表:

library(igraph)
gtest <- graph(c(1,2,1,3,2,3,3,4), directed = FALSE)

现在,我想要来自 gtest 的带有节点 1、3、4 的诱导子图。当我运行以下命令时,似乎正在生成一个新图,其中包含 3 个节点 1、2 和 3。

induced.subgraph(graph = gtest,vids = c(1,3,4), impl = "copy_and_delete")

IGRAPH 17d00a4 U--- 3 2 -- 
+ edges from 17d00a4: [1] 1--2 2--3

但我需要保留节点名称/ID。有什么解决办法吗?

【问题讨论】:

    标签: r igraph subgraph


    【解决方案1】:

    您可以在运行inducded.graph之前将name属性添加到gtest,即,

    gtest <- graph(c(1, 2, 1, 3, 2, 3, 3, 4), directed = FALSE) %>%
      set_vertex_attr(name = "name", value = seq_along(V(.)))
    

    然后

    > induced.subgraph(graph = gtest, vids = c(1, 3, 4))
    IGRAPH 76ee13e UN-- 3 2 --
    + attr: name (v/n)
    + edges from 76ee13e (vertex names):
    [1] 1--3 3--4
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多