【问题标题】:In-Degree Bonacich Power Centrality in R?R中的度Bonacich权力中心性?
【发布时间】:2020-03-14 05:09:44
【问题描述】:

提前感谢您的宝贵时间。我正在尝试确定一种方法来计算 R 中的博纳奇功率中心度。我是 UCINET 的长期用户,试图进行切换。在 UCINET 中,这是通过选择 Beta Centrality (Bonacich Power) 并选择“in-centrality”作为方向来完成的。

在 R 中,似乎没有一种方法可以使用 sna 或 igraph 包进行计算。这是sna中的bonpow:

bonpow(dat, g=1, nodes=NULL, gmode="digraph", diag=FALSE, tmaxdev=FALSE, 
       exponent=1, rescale=FALSE, tol=1e-07)

我确实指定了有向图,但我无法在 R 中复制分析。

同样,这里是 igraph 中的 power_centrality:

power_centrality(graph, nodes = V(graph), loops = FALSE,
      exponent = 1, rescale = FALSE, tol = 1e-07, sparse = TRUE)

在这里,似乎没有办法指定它是有向图(尽管您可以在定义网络时指定它)。但是,您可以估计它的中介中心性。

在这两种情况下,我似乎都无法指定入度或出度的权力中心性。任何帮助表示赞赏。这些或其他包装中是否有我可能忽略的东西?

【问题讨论】:

    标签: r igraph social-networking sna statnet


    【解决方案1】:

    我不确定你所说的方向是什么意思,因为在我看来,原始论文没有处理它。现在,通常使用这些直接从邻接矩阵计算的统计数据完成的事情是通过对统计数​​据进行转置来“改变方向”(例如,当计算 netdiffuseR 包中的曝光时,我们允许用户仅通过对邻接矩阵进行转置来计算“传入”或“传出”曝光)。当您进行转置时,您实际上是在翻转关系的方向性,即 i->j 变为 j->i。

    如果这就是 UCINET 所做的(同样,不完全确定它是什么),那么您可以通过转置网络获得“传入”/“传出”版本。这是一个玩具示例:

    # Loading the sna package (btw: igraph's implementation is a copy of
    # sna's). I wrap it around suppressMessages to avoid the verbose
    # print that the package has
    suppressMessages(library(sna))
    
    # This is random graph I generated with 10 vertices
    net <- structure(
      c(0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 
        0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 
        0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 
        0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 
        0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0),
      .Dim = c(10L, 10L)
      )
    
    # Here is the default
    bonpow(net)
    #>  [1] -0.8921521 -0.7658658 -0.9165947 -1.4176664 -0.6151369 -0.7862345
    #>  [7] -0.9206684 -1.3565601 -1.0347335 -1.0062173
    
    # Here I'm getting the transpose of the adjmat
    net2 <- t(net)
    
    # The output is different (as you can see)
    bonpow(net2)
    #>  [1] -0.8969158 -1.1026305 -0.6336011 -0.7158869 -1.2960022 -0.9545159
    #>  [7] -1.1684592 -0.8845729 -1.0368018 -1.1190876
    

    reprex package (v0.3.0) 于 2019 年 11 月 20 日创建

    【讨论】:

    • 这绝对有帮助。传入/传出是指测量入度还是出度。这是一个基本问题,但看起来入度是在列中测量的(并且在行中测量出度),因此网络中的第一个位置已被 4、6、7 提名 4 次,和 9,对吗?那么第一个将测量入度的权力中心性,而转置将测量出度的权力中心性?
    • 你说的很有道理。我认为,默认情况下,该度量被框定为度中心性(正如通常在中心度测量中所做的那样),并且采用转置应该是出度。但同样,我不确定 UCINET 的区别是什么(无法​​找到描述这一点的手册),但根据我的经验,它应该只是我所描述的。嗨
    猜你喜欢
    • 2015-07-14
    • 1970-01-01
    • 2018-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多