1

テンポラル ネットワークのデータのサブセットは次のとおりです。

edge <- data.frame(onset = c(1968, 1968, 2007),
               terminus = c(1968, 1968, 2007),
               id_from = c(1, 1, 2),
               id_to = c(3, 2, 4),
               weight = c(1, 3, 2))

vert <- data.frame(onset = c(1968, 1968, 1980, 1978),
               terminus = c(2017, 2017, 2017, 2017),
               vertex_id = c(1, 2, 3, 4),
               abb.name = c("UK", "US", "Germany", "Pakistan"))

# Create networkDynamic object
netd <- networkDynamic(vertex.spells = vert[,c(1,2,3,4)],
                   edge.spells = edge[,c(1,2,3,4,5)],
                   create.TEAs = TRUE,
                   edge.TEA.names = "weight")

vert$abb.name <- as.character(vert$abb.name)

# Set vertex attributes
set.vertex.attribute(netd, "abb.name", as.vector(vert$abb.name))
network.vertex.names(netd)<-vert$abb.name

# Collapse network to look at 1968 network
net68 <- network.collapse(netd,
                      at = 1968, 
                      rm.time.info = FALSE,
                      rule = "latest")
# Get centrality score
degree(net68)

ただし、これは重みを考慮しない中心性スコアを返します。

[1] 1 1

networkDynamic(1) 1 年あたりの重みが重要であるため、同じ 2 か国の間の複数の関係が集約ネットワークの 1 つのエッジとして計算されないこと、(2) 重みが中心性スコアにカウントされることを考慮するにはどうすればよいですか? (3)degree()国名を含む出力を取得しますか?理想的には、1968 年から 2017 年までのネットワークの各スライスで、各国の中心性スコアを取得したいと考えています。

4

2 に答える 2