我有一个由大约1 400个案件和合作伙伴组成的社会网络。我使用igraph创建网络,并提取一些度量(密度、平均度、中间度等)。
我想按组件大小(为小组件(2-3成员)、中型组件(8-20成员)和大型组件(超过20成员)创建类别)来分析数据。
使用以下代码: components<-components(allcases.g)我得到了一些信息,如:$membership、$scize和$number。
然而,$csize只是告诉我所有不同组件(total= 250组件)的大小,但是这个大小并没有链接到各个顶点。
有人知道将组件大小与我的网络中的每个顶点联系起来的最佳方法吗?
谢谢!
发布于 2018-10-06 00:09:06
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 20https://stackoverflow.com/questions/52674454
复制相似问题