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

时间:2018-04-10 14:52:14

标签: r network-programming igraph bipartite

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

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

摘要功能为我提供总计数和列表。

以下是我的网络的属性:

  

IGRAPH 3e83b45 UNWB 501 1120 -   + attr:name(v / c),taxon(v / c),taxon.label(v / n),species.size(v / n),type(v / c),weight(e / n),type (E / C)   + 3e83b45(顶点名称)的边缘:

顶点类编码为“taxon”,图层(即边缘类型)编码为“type”。

非常感谢!

1 个答案:

答案 0 :(得分:2)

如果您提供了一个可重复性最小的示例,那就太好了,但我认为只需使用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']