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
。他の中心性の尺度(中間性、近さ、固有ベクトル)でも同じ問題があります。