R中的函数应该如何计算Krackhardt E / I比?

时间:2013-06-25 16:43:22

标签: r social-networking igraph

我正在使用igraph包,这个度量实际上是一个与演员所有关系的外部关系的相对比例。通过外部关系,我指的是自我与其他群体的关系,而不是他自己的关系(一个顶点属性,表明群体属于对象中存在)。

公式应为(E-I)/(E + I)。我错过的部分也是如何在组级别获取此值,以便每个组都有一个E / I索引。

1 个答案:

答案 0 :(得分:0)

为了帮助我们,我们很常见,建议您提供实际的代码/数据作为示例。我会试着克服这一点。 假设邻接矩阵和分组是:

am = structure(c(0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 
1, 0, 1, 1, 1, 0, 1, 0), .Dim = c(5L, 5L))

g = factor(c(1,1,2,2,3))

让我们首先按组计算每个节点的边缘

eg = aggregate(am,list(g),sum)
eg1 = t(as.matrix(eg[,-1]))

现在,让我们计算E和I:

I = eg1[cbind(1:5,as.integer(g))]
E = rowSums(eg1)-I

你的措施:

K =(E-I)/(E + I)

我希望这会有所帮助