Как импортировать атрибуты в анимацию ndtv? - PullRequest
0 голосов
/ 03 марта 2019

У меня есть относительно большой набор данных, который я превратил в статические сети, затем в динамические сети и, в конечном итоге, в анимацию ndtv с помощью render.d3movie ().В анимации я хочу, чтобы края, соединяющие разные узлы, отображали атрибуты, и я борюсь с этим.

Ниже вымышленный пример того, что я пытаюсь сделать:

library(networkDynamic)
library(ndtv)
library(network)

Origin <- c("New Zealand", "Canada", "Japan", "China","New Zealand", "Germany", "Spain", "Ghana", "China", "Brazil")
Destination <- c("Canada", "Brazil", "Italy", "Thailand", "Australia", "Spain", "Spain", "Ghana", "Cambodia", "Spain")
Years <- c("2015", "2015", "2015", "2015", "2016", "2016", "2016", "2017", "2017", "2017")
Flights <- as.numeric(c("100", "105", "201", "100", "202", "203", "98", "109", "130", "125"))

DF <- cbind.data.frame(Origin, Destination, Years, Flights)
Flight.List <- split(DF, Years)

#Static networks for each year:
Flights <- lapply (Flight.List, function (x) as.numeric(x$Flights))
Networks <- lapply(Flight.List, function (x) {as.network (x, 
        matrix.type="edgelist",directed=T, loops= FALSE)}) 
Networks <- mapply (function (n, m) {set.edge.attribute (n, 
                    "Flights", m)}, Networks, Flights, SIMPLIFY=FALSE) 

#Dynamic network:
Dynamic.Network <- networkDynamic(network.list=Networks, vertex.pid="vertex.names",create.TEAs=TRUE)    

#Animation
render.d3movie(Dynamic.Network,displaylabels=TRUE, edge.tooltip = paste(Dynamic.Network %e% "Flights.active")) 

Я хотел бы иметь возможность нажимать на каждое ребро между узлами и видеть, сколько рейсов между нимиэти две страны в этом конкретном году.Прямо сейчас некоторые ярлыки верны, но большинство отключено.У меня такое ощущение, что это может быть из-за того, что анимация не знает, как разрезать атрибут «Авиабилеты.актив».Поэтому я попробовал следующее:

render.d3movie(Dynamic.Network,displaylabels=TRUE, edge.tooltip = function(slice) {paste(slice %e% "Flights.active", "flights")}) 

Что также было неудачным - возможно, потому, что мне нужно определить «срез» в какой-то момент, но я не могу понять, как.Если я сверну отдельные годы в динамической сети, атрибуты там будут правильными.

Любая помощь будет высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...