【问题标题】:Calling vertices in Igraph在 Igraph 中调用顶点
【发布时间】:2012-08-14 00:44:59
【问题描述】:

这个问题与 Igraph 中顶点的调用有关。

假设我们有一个有向图

g<-graph(c(1:10),directed=T)

我想找到指向顶点 2 的顶点。

假设您想找到指向“指向”顶点 1 的顶点。

为什么不能使用“to”条件

V(g)[to(1)]

而是这个?

V(g)[nei(1,"to")]

【问题讨论】:

    标签: r igraph


    【解决方案1】:

    对我有用吗?

    > g<-graph(c(1:10),directed=T)
    > V(g)[to(1)]
    Vertex sequence:
    [1] 2
    > V(g)[nei(1,"to")]
    Vertex sequence:
    [1] 2
    

    我个人喜欢使用边缘列表。或者你可以这样做:

    # Get edgelist:
    E <- get.edgelist(g)
    
    # To 1 in directed graph:
    E[E[,2]==1,1]
    
    # Connected to 1 in undirected graph:
    c(E[E[,2]==1,1],E[E[,1]==1,2])
    

    【讨论】:

      【解决方案2】:

      to 仅适用于边序列;例如,E(g)[to(1)] 为您提供指向顶点 1 的所有边。恕我直言,这是非常合乎逻辑的,因为顶点不会“指向”任何地方(边缘会),因此使用 fromto 没有意义。

      此外,使用nei 的“官方”方式是nei(1, "out"),而不是nei(1, "to"),尽管"to" 也可以使用。你也可以使用outnei(1)

      免责声明:我是 igraph 的作者之一,虽然我没有编写 R 接口,所以可能有比我上面解释的更好的理由。

      【讨论】:

      • outnei(1)函数不在igraph的R包中
      • 嗯,对我来说似乎是一个错误。这有效:V(g)[outnei(1, mode="out")],但无效:V(g)[outnei(1)]。我将为此创建一个错误报告。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-21
      • 2018-04-14
      • 2013-12-19
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多