Je voudrais rendre un réseau dynamique en R en utilisant la librairie rapide MDSJ. Malheureusement, toutes les coordonnées des vertices semblent être 0,0
en utilisant ce moteur de rendu, ce qui n'est pas le cas lorsque vous utilisez l'une des autres mises en page (kamadakawai
ou Graphviz
.) Si vous collez le code ci-dessous, vous devriez pouvoir reproduire le problème .Comment rendre un réseau networkDynamic en utilisant le moteur de rendu MDSJ dans R?
if (!require("pacman")) install.packages("pacman")
library("pacman")
pacman::p_load(network, networkDynamic, ndtv)
#animation.mode = "MDSJ"
#animation.mode = "Graphviz"
animation.mode = "kamadakawai"
people <- c("A","B","C","D","E")
documents <- paste0("a",1:10)
edges <- data.frame(from = c("A","A","A","B","B","C","D"),
to = c("a1","a2","a3","a4","a5","a1","a1"),
active = c(1,2,3,3,4,4,4))
net <- network.initialize(0, directed = TRUE, bipartite = length(people))
add.vertices.networkDynamic(net, 5, vertex.pid = people)
add.vertices.networkDynamic(net, 10, vertex.pid = documents)
net %v% "vertex.names" <- c(people, documents)
net %v% "vertex.col" <- c(rep("blue", length(people)), rep("gray", length(documents)))
set.network.attribute(net,'vertex.pid','vertex.names')
add.edges.networkDynamic(net,
tail = get.vertex.id(net, edges[[1]]),
head = get.vertex.id(net, edges[[2]]),
edge.pid = paste0(edges[[1]], "->", edges[[2]]))
activate.edges(net, e = 1:7, at = edges[[3]])
reconcile.vertex.activity(net = net, mode = "encompass.edges", edge.active.default = FALSE)
slice.par <- list(start = 1, end = 4, interval = 1, aggregate.dur = 2, rule = "earliest")
compute.animation(net,
animation.mode = animation.mode,
slice.par = slice.par)
render.d3movie(net,
slice.par = slice.par,
displaylabels = TRUE,
output.mode = "htmlWidget",
vertex.col = 'vertex.col')
en utilisant kamadakawai, on obtient une vue dynamique comme celui-ci:
en utilisant MDSJ, toutes les diapositives ressemblent à ceci:
Oui, lors de la première utilisation, on m'a demandé la permission de télécharger et d'installer MDSJ. Cela a réussi, et je vois maintenant que MDSJ est appelé pendant le processus. Pour une raison quelconque, cependant, cela ne fonctionne pas comme prévu, comme expliqué ci-dessus. J'ai Mac OS X 10.11.6 El Capitan et Java 8 Update 101 build 13 et RStudio Version 0.99.896. Avez-vous activé MDSJ dans l'extrait ci-dessus en décommentant le # animation.mode = "MDSJ" et en commentant "kamadakawai"? – Mischa
Oui, je l'ai fait. Comment pourrais-je savoir, en supposant que je n'avais jamais utilisé le logiciel auparavant, qu'il demande un téléchargement java si je ne l'ai pas fait? En outre, j'utilise une version antérieure de Mac OS qui n'a pas les problèmes d'autorisations d'El Capitan, mais si vos autres paquets R fonctionnent, cela devrait être bon. Tout ce qui utilise RJava fonctionne-t-il normalement? Je n'utilise pas non plus RStudio, bien que je ne puisse pas voir comment cela fait une différence. – user2619203
Le paquetage rJava n'a pas été installé, mais l'installer n'a rien changé. – Mischa