我想为Burt的有效尺寸创建一个函数。
公式可以归结为:
有效尺寸= n-2t / n
其中t是联系的数量(不计算与自我的联系)
n是网络中的人数(不计算自我)。
我不太确定从哪里开始为igraph编写函数。
让我知道更多细节是否有帮助...
谢谢。
最佳答案
首先模拟一个基本图:
require(igraph)
alters = 50
ties = 10
set.seed(12345)
edgelist = rbind(0, 1:alters)
edgelist = cbind(edgelist, replicate(ties, sample(alters, 2)))
g = graph(edgelist, directed=F)
dev.new(width=5, height=5)
plot(g, layout=layout.kamada.kawai)
然后编写一个简单的函数来计算有效大小。 (此处在
g
上运行的功能都很好地记录在igraph
手册中以及网络上的各种示例中。)EffectiveSize <- function(g, ego=0) {
n = neighbors(g, ego)
t = length(E(g)[to(n) & !to(ego)])
n = length(n)
n - 2 * t / n
}
> EffectiveSize(g)
[1] 49.6