2017-07-03 2 views
1

J'essaie de visualiser une structure de données relationnelles de «coentreprise» (c'est-à-dire que les entreprises collaborent avec d'autres dans des produits). Par exemple, l'entreprise i peut être impliquée dans la coentreprise A avec la firme j, mais la firme I participe également à la coentreprise B avec la firme j et la firme k, etc., de sorte que les deux firmes i, j, les relations d'adhésion ({i, j}, {i, j, k}), mais la force de la collaboration entre l'entreprise {i, j} est plus forte que celle de l'entreprise {i, k} entreprise.Visualisation de la structure de réseau de collaboration avec des applications/packages R existants

Je voudrais visualiser cela dans ces graphiques de réseau emblématiques, mais souligner la force de la relation qui varie entre les différentes dyades (entreprises). Un exemple pertinent qui m'est venu à l'esprit est celui des études de coauteur de Mark Newman dans PNAS (Newman 2004), dans la Fig. 6 chaque paire de nœuds (c.-à-d. Auteurs) est connectée par des bords d'épaisseur différente, représentant la force de coauteur intensité entre chaque paire d'auteurs (par exemple, nombre de travaux de collaboration entre les deux), comme le montre la photo ci-dessous:

From Newman (2004) j'ai vérifié un certain nombre de postes précédents (comme this one) se rapportant à la igraph de R et bipartite paquets, mais ne pense pas que le réseau bipartite et son application correspondent à mon objectif ici. Je me demande (1) s'il existe des progiciels/applications R existants qui aideront à visualiser la force de la connectivité entre chaque noeud dans un réseau, et (2) comment devrait la structure de ce type de données ressembler? (en utilisant 'cabinet', 'projet' comme colonnes ou lignes?)

Merci. Comme l'a noté @ R.B, vous pouvez utiliser la bibliothèque visNetwork

+1

Vous pouvez utiliser le package visNetwork pour créer ce graphique –

+0

J'ai suivi votre suggestion et @ KoenV, et cela fonctionne bien. Je vous remercie! –

Répondre

1

Le code des données inventées peut ressembler à ceci:

library(igraph) 
library(visNetwork) 

set.seed(98765) # for reproducibility 
### generate some data, 
### nodes are entitities: letters represent contributors 
nodes <- data.frame(id = 1:11, 
        label = LETTERS[1:11], # name of node 
        title = LETTERS[1:11]) # optional tooltip 
### edges represent relations 
edges <- data.frame(
    from = sample(1:11, 50, replace = TRUE), 
    to = sample(1:11, 50, replace = TRUE), 
    arrows = "", 
    width = c(rep(1, 20), rep(4, 20), rep(6,6), rep(10, 3), 15) ## weights 
) 


visNetwork(nodes, edges, width = "100%") %>% 
    visIgraphLayout(layout = "layout_in_circle") %>% 
    visNodes(size = 25) %>% 
    visOptions(highlightNearest = list(enabled = F, hover = T)) 

Cela génère l'intrigue suivante (interactive en html)

enter image description here

S'il vous plaît laissez-moi savoir si c'est ce que vous voulez.

+0

Merci beaucoup d'avoir pris le temps d'illustrer cela! Je devrais être capable de tweeter le code visNetwork, en ajoutant des cosmétiques (par exemple, en étiquetant les nœuds avec leurs noms de nœuds), etc. Cependant, la ligne de commande visIgraphLayout (layout = "layout_in_circle")%>% ne semble pas fonctionner Sur mon Rstudio, R renvoie un message d'erreur "Impossible de trouver la fonction 'layout_in_circle'. Veuillez le vérifier." J'ai également essayé d'utiliser la configuration par défaut 'layout_nicely', cela ne fonctionne toujours pas. Je suis assez nouveau à visNetwork, est-ce une erreur de programmation? –

+1

Réessayez après l'installation et le chargement du paquet 'igraph' et faites-moi savoir si cela fonctionne. – KoenV

+0

Merci encore! J'ai enlevé l'ancienne version et j'ai réinstallé igraph, maintenant ça marche. Merci beaucoup. –