如何计算 R 中 igraph 对象中给定 class 的顶点数?
How do you count the number of vertices of a given class in an igraph object in R?
我在 R 的 igraph 包中使用二分多层网络。
有没有办法计算给定class的顶点数和给定层的边数?
summary 函数给出总计数和列表。
以下是我的网络的属性:
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)
+ edges from 3e83b45 (vertex names):
顶点classes被编码为"taxon",层(即边类型)被编码为"type"。
非常感谢!
如果您提供一个最小的可重现示例会很好,但我认为只需使用 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']
我在 R 的 igraph 包中使用二分多层网络。
有没有办法计算给定class的顶点数和给定层的边数?
summary 函数给出总计数和列表。
以下是我的网络的属性:
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) + edges from 3e83b45 (vertex names):
顶点classes被编码为"taxon",层(即边类型)被编码为"type"。
非常感谢!
如果您提供一个最小的可重现示例会很好,但我认为只需使用 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']