基于标识符提取图形并在igraph中计算网络度量

问题描述 投票:0回答:1

我想分别分析网络中的组。例如,igraphdata软件包中的UK教职员工数据包含一些网络数据,并且在节点级别具有组信息。

library(igraph)
library(igraphdata)
data("UKfaculty")

V(UKfaculty)$Group

我想基于4个组来提取网络,并对提取的图进行一些计算(密度,平均度,直径,聚类系数等),并将这些信息基于组存储在数据帧中。我只想根据组中的节点而不是整个网络级别来计算度量(例如,仅根据组1中的连接来计算中心性,而不考虑与其他组的连接)。

Group    density    diameter
    1          x           x
    2          x           x
    3          x           x

任何想法如何有效地做到这一点?

r igraph
1个回答
0
投票

您可以使用induced_subgraph为每个组基于顶点的list提取子图。

library(igraph)
library(igraphdata)

data("UKfaculty")
ig <- UKfaculty

# `list` of vertices for every group        
idx <- split(V(ig), V(ig)$Group)

# Create subgraphs based on the `list` of vertices
lst <- lapply(idx, function(v) induced_subgraph(ig, v))
© www.soinside.com 2019 - 2024. All rights reserved.