代码之家  ›  专栏  ›  技术社区  ›  Marco

如何计算R中igraph对象中给定类的顶点数?

  •  0
  • Marco  · 技术社区  · 8 年前

    我正在使用R的igraph包中的一个二分多层网络。

    有没有办法计算给定类的顶点数和给定层上的边数?

    这个 总结 函数提供总计数和列表。

    以下是我的网络的属性:

    IGRAPH 3e83b45 UNWB 501 1120-- +属性:名称(v/c),分类单元(v/c),分类单元。标签(v/n),种类。尺寸(v/n)、类型(v/c)、重量(e/n)、类型(e/c) +3e83b45的边(顶点名称):

    顶点类编码为“分类单元”,层(即边类型)编码为“类型”。

    非常感谢!

    1 回复  |  直到 8 年前
        1
  •  2
  •   struggles    8 年前

    如果您提供了一个最小的可复制示例,那就太好了,但我认为只需使用 V() 以及使用 E() 会得到你想要的。它们都提供了一个向量,您可以使用 length() 功能开启

    library(igraph)
    
    g <- make_graph('zachary') %>%
      set_edge_attr(., 'type', value = sample(c('parent', 'child'),
                                              size = ecount(.), 
                                              replace = T)) %>%
      set_vertex_attr(., 'taxon', value = sample(c('species', 'family', 'class'), 
                                                 size = vcount(.), 
                                                 replace = T))
    
    V(g)[taxon == 'species']
    E(g)[type == 'parent']