我想分别分析网络中的组。例如,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
任何想法如何有效地做到这一点?
您可以使用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))