【问题标题】:How to remove outgoing edges from all vertices not equal to "x"如何从不等于“x”的所有顶点中删除出边
【发布时间】:2013-10-15 05:19:52
【问题描述】:

我有一个有 115 个节点和 1098 个边的有向图“g”。它是一个超链接图(即节点是网站,边代表超链接的存在)。

我想从不来自特定感兴趣节点 (id=7) 的所有顶点中删除所有出站边。我正在尝试创建一个图表,仅表示来自特定网站的外链(即它链接到的网站)。

我尝试过各种尝试使用delete.edges 函数,但我对如何实现这一点感到非常困惑。

我也试过了:

g[1:6,] <- FALSE

接着是:

g[8:1098,] <- FALSE

但这也不起作用。

【问题讨论】:

    标签: r igraph


    【解决方案1】:

    我不确定您的代码为什么不起作用,如果有一个可重复的示例,并带有数据,那就太好了。我怀疑您的图形具有顶点名称,并且您将顶点名称和数字顶点 ID 混合在一起。反正最简单的方法大概就是:

    library(igraph)
    links <- cbind(from=c( 2, 3, 7, 7, 7),
                     to=c(10,11,12,13,14))
    g <- graph.edgelist(links)
    
    str(g)
    # IGRAPH D--- 14 5 -- 
    # + edges:
    # [1] 2->10 3->11 7->12 7->13 7->14
    
    g[-7,] <- FALSE
    
    str(g)
    # IGRAPH D--- 14 3 -- 
    # + edges:
    # [1] 7->12 7->13 7->14
    

    【讨论】:

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