【问题标题】:Creating new measures in igraph在 igraph 中创建新度量
【发布时间】:2011-11-01 16:46:25
【问题描述】:

我想为 Burt 的有效尺寸创建一个函数。 公式归结为:

有效尺寸 = n - 2t/n

  • 其中 t 是关系数(不包括与自我的关系)
  • n 是网络中的人数(不包括自我)。

我不确定从哪里开始在 igraph 内/为 igraph 编写函数。

如果更详细的信息会有所帮助,请告诉我...

谢谢。

【问题讨论】:

  • 提供一个示例图,以及到目前为止您为计算大小所做的尝试。

标签: r social-networking igraph


【解决方案1】:

先模拟一个基本图:

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

【讨论】:

  • 啊。谢谢!对于多余/基本的问题,我很抱歉,但我真的不确定我是否必须在 C 中调用/编辑。我没有意识到我可以创建普通的 R 函数来使用 igraph。
  • 是的,它真的很灵活。 igraph 也是一个很棒的包,通过这些巧妙的方法在顶点和边上进行索引/迭代。祝你的项目好运!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-30
  • 2014-07-04
  • 2016-01-04
  • 2018-11-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多