我在 R 中使用 igraph 和 statnet 创建了一个加权网络。我现在正在使用 statnet 研究我的加权网络的中心性度量,但是我获得的中心性度量好像 statnet 没有考虑我的边值。这是一个使用度中心性度量来说明我的问题的小例子。
我使用 igraph 创建了我的网络:
nodes <- data.frame(id=c(1,2,3,4,5))
edges <- data.frame(source=c(1,1,2,2,3),
target=c(2,3,3,5,4),
weight=c(1,2,1,2,1))
library(igraph)
network <- graph_from_data_frame(d=edges, vertices=nodes, directed=FALSE)
然后我需要使用 statnet 包,所以我按照以下方式对其进行了转换
network_statnet <- asNetwork(network)
detach("package:igraph", unload=TRUE)
library(statnet)
然后我想计算度中心性,首先不考虑边缘值(degree_unweighted
),然后考虑边缘值(degree_weighted
)
degree_unweighted<-degree(network_statnet, gmode="graph", ignore.eval=TRUE)
degree_weighted<-degree(network_statnet, gmode="graph", ignore.eval=FALSE)
但我最终得到了完全相同的中心性度量。我不知道为什么 statnet 在我指定ignore.eval=FALSE
. 我对其他中心性度量(介数、接近性、特征向量)也有同样的问题。