knitr::opts_chunk$set(echo = TRUE) library(knitr) library(wikidataESR) library(ggplot2) library(network) library(ggnetwork) library(scales) library(dplyr)
WikidataESR est une librairie R s'appuyant sur wikidataR pour récupérer les données de l'ESR dans wikidata et produire des graphiques.
WikidataESR peut s'installer directement depuis GitHub avec devtools :
install.packages("devtools") library(devtools) install_github("cpesr/wikidataESR")
Pour récupérer les données, vous devez disposer d'un identifiant wikidata racine, et savoir quelles propriétés vous souhaitez explorer.
L'exploration se fait avec la fonction wdesr_get_graph
.
Par exemple, il est possible d'explorer les établissements du Site Alsace :
library(wikidataESR) df.alsace <- wdesr_get_graph("Q61716176", c('composante','associé'), 1)
Pour faciliter les contributions, la fonction déclenche des warning pour chaque problème potentiel lié aux données saisie dans wikidata.
Elle retourne un objet contenant vertices
et edges
, qui représentent les établissements et leurs relations.
kable(df.alsace$vertices[,1:5]) kable(df.alsace$edges)
Depuis le graphes retourné par wdesr_get_graph
, il est possible de tracer directement en utilisant la librairie network
.
library(network) net <- network(df.alsace$edges, matrix.type="edgelist", ignore.eval=FALSE, directed = TRUE) plot(net)
Cependant, pour faciliter les choses, wikidataESR
propose une fonction adaptatée : wdesr_ggplot_graph
wdesr_ggplot_graph(df.alsace)
Pour facilier les choses, la fonction wdesr_load_and_plot
permet de tout faire d'un coup :
wdesr_load_and_plot("Q61716176", c('composante','associé'), 1)
On peut observer que les deux images ne sont pas identiques : le processus de traçage des graphes est aléatoire. Il est ainsi parfois utile de tracer plusieurs fois un graphiques pour arriver à un résultat satisfaisant.
Afin de ne pas avoir à retélécharger systématiquement les données, wikidataESR
utilise un cache local. Il est possible de sauvegarder ce cache pour une utilisation future avec wdesr_save_cache()
.
Il suffira ensuite de recharger le cache à la prochaine session pour ne pas retélécharger les données avec wdesr_load_cache()
. Attention : en cas de modification des données sur wikidata, les données du cache local peuvent être périmées.
Il est enfin possible d'accéder directement au cache avec wdesr_get_cache()
#wdesr_load_cache()
Il est souvent utile d'aller plus en profondeur pour explorer plus de relations. Cela se fait en modifiant l'argument depth
:
wdesr_load_and_plot("Q61716176", c('composante','associé'), depth = 3)
wdesr_save_cache()
Pour contrôler les graphiques, plusieurs paramètres sont disponibles :
wdesr_load_and_plot("Q61716176",c('composante','associé'), 3, node_size = c(2,5), label_sizes = c(3,5), arrow_gap = 0.0, node_label = "alias", node_type = "text", edge_label = FALSE)
wdesr_load_and_plot("Q61716176",c('composante','associé'), 3, node_size = c(2,8), label_sizes = c(1,10), arrow_gap = 0.0, node_label = "alias", node_type = "text", edge_label = FALSE)
wdesr_load_and_plot("Q61716176",c('composante','associé'), 3, node_size = c(2,8), label_sizes = c(3,5), arrow_gap = 0.0, node_label = "alias", node_type = "text", edge_label = FALSE)
wdesr_load_and_plot("Q61716176",c('composante','associé'), 3, node_size = 3, label_sizes = c(3,5), arrow_gap = 0.0, node_label = "alias_date", node_type = "text", edge_label = TRUE)
wdesr_load_and_plot("Q61716176",c('composante','associé'), 3, node_size = 3, label_sizes = c(1,3), arrow_gap = 0.0, node_label = "alias_date", node_type = "label_repel", edge_label = FALSE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.