【问题标题】:How to calculate weighted degree centrality by igraph?如何通过igraph计算加权度中心性?
【发布时间】:2020-04-29 11:49:44
【问题描述】:

我有一个国际出口网络,数据框如下:

第一列是焦点“Ego”国家,第二列是焦点国家出口货物的“Alter”国家。第三列“PercentOfImports”记录了重点国家对该国出口的百分比

enter image description here ...

我想计算加权度中心性来决定哪个国家最有影响力(总出口百分比最高的商品)。

export.gra<-graph_from_edgelist(cbind(export$Ego, export$Alter))
E(export.gra)$weight.poe<-export$PercentOfImports

我使用 strength() 来创建加权中心性。

deg.ex.poe<-strength(export.gra, mode="in", weights = E(export.gra)$weight.poe)

但是,我发现结果有问题。在我的例子中,一些节点没有中心度,没有焦点国家出口商品。所以我预计deg.ex.poe的向量中会出现一些0。但是,结果(下图中)显示所有 0 都在这个向量的后面。我检查了我的数据,发现应该为 0 的元素被后面的非 0 元素填充。例如,export$Alter 中的第二个元素是 export$Alter 中第 5 个国家的度中心性,因为度数中心性export$Alter 中的第 2、3、4 个元素都为 0。

enter image description here

希望您能提供帮助!谢谢!

【问题讨论】:

    标签: r igraph network-analysis


    【解决方案1】:

    我使用这个循环来重新排序 deg.ex.poe。 211是节点数。

    for (i in 2:211){
        ifelse(TF[i]=="TRUE",
               deg.ex.poe[i]<-deg.ex.poe[i],
               deg.ex.poe<-c(deg.ex.poe[1:i-1],0,deg.ex.poe[i:211]))
          }  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 2014-10-06
      • 2021-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多