2

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

4

1 に答える 1