社交网络分析和组件大小-igraph R SNA

时间:2018-10-05 23:39:56

标签: r igraph sna

我有一个大约1,400个案例和合作伙伴的社交网络。我正在使用igraph创建网络,还提取了一些指标(密度,平均度,中间度等)

我想按组件大小分析数据(为小型组件(2-3个成员),中型组件(8-20个成员)和大型组件(20个以上成员)创建类别

使用以下代码:components--components(allcases.g)我得到一些信息,例如:$ membership,$ scize和$ number。

但是,$ csize仅告诉我所有不同分量的大小(总计= 250个分量),但是该大小未链接到各个顶点。

有人知道将组件大小链接回网络中每个顶点的最佳方法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

membership告诉您节点属于哪个组件。如您所述,csize告诉您组件的大小。因此,您可以使用以下命令按节点获取组件的大小 COMP$csize[COMP$membership]。这是一个小例子。

library(igraph)
set.seed(1234)
g = erdos.renyi.game(30, 0.15) + 
    erdos.renyi.game(30, 0.15) +
    erdos.renyi.game(20, 0.25) +
    erdos.renyi.game(20, 0.25)
plot(g, vertx.size=6, cex=0.8, margin=-0.2)

COMP = components(g)
COMP$csize[COMP$membership]
  [1] 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
 [26] 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
 [51] 30 30 30 30 30 30 30 30 30 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 [76] 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20