我有一个大约1,400个案例和合作伙伴的社交网络。我正在使用igraph创建网络,还提取了一些指标(密度,平均度,中间度等)
我想按组件大小分析数据(为小型组件(2-3个成员),中型组件(8-20个成员)和大型组件(20个以上成员)创建类别
使用以下代码:components--components(allcases.g)我得到一些信息,例如:$ membership,$ scize和$ number。
但是,$ csize仅告诉我所有不同分量的大小(总计= 250个分量),但是该大小未链接到各个顶点。
有人知道将组件大小链接回网络中每个顶点的最佳方法吗?
谢谢!
答案 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