Warning: Removed 1490 rows containing missing values (geom_point).

showSelected
Dans ce chapitre, nous vous présentons showSelected, l’un des deux principaux mots-clés introduits par animint2 pour la visualisation interactive de données. Après avoir lu ce chapitre, vous saurez :
showSelected dans vos esquisses pour spécifier des geoms pour lesquels seul un sous-ensemble de données doit être tracé à la fois.
aes(key) et l’option duration.
time.showSelected
Dans le chapitre 2, nous avons expliqué comment planifier les codes nécessaires pour créer une visualisation avec une esquisse qui comprend les éléments principaux (geoms, axes, légendes, données). Dans cette section, nous allons expliquer comment le mot-clé showSelected peut être utilisé dans les esquisses. Le mot-clé showSelected est utilisé pour préciser les variables à utiliser pour sélectionner un sous-ensemble de données. Chaque geom possède son propre ensemble de données et sa propre définition de variables showSelected. Cela signifie que chaque geom peut afficher son propre sous-ensemble de données (qui est différent que les autres geoms).
En fait, nous avons déjà utilisé le mot-clé showSelected : il avait été généré automatiquement par les légendes interactives que nous avions créées dans les deux chapitres précédents. Considérons, par exemple, la courbe de Keeling du chapitre 1 présentée ci-dessous.

L’esquisse ci-dessus comprend showSelected=mois pour le geom_point ce qui signifie qu’elle doit afficher le sous-ensemble de données pour les mois sélectionnés. En revanche, puisque geom_line n’inclut pas showSelected, il affiche toujours l’ensemble complet des données (peu importe les mois sélectionnés).
Prenons un autre exemple : l’esquisse ci-dessous de la première visualisation de données de la Banque mondiale, du chapitre 2.

L’esquisse ci-dessus spécifie showSelected=région pour le geom_point, ce qui signifie qu’elle doit afficher le sous-ensemble de données pour les régions sélectionnées.
Notez que l’esquisse dans chapitre 2 ne précisait pas explicitement showSelected=région. Nous avions simplement indiqué aes(color=région), et animint2 a automatiquement ajouté une variable showSelected correspondante. En général, animint2 rajoute un mot-clé showSelected pour chaque variable utilisée dans une légende qualitative.
Cependant, le mot-clé showSelected n’est pas limité aux légendes qualitatives. Vous pouvez utiliser showSelected pour toutes les variables de votre choix, en précisant explicitement les variables dans l’argument showSelected du geom.
Chaque variable utilisée avec showSelected est traitée par animint2 comme une variable de sélection. Par exemple, la visualisation de la courbe de Keeling a une variable de sélection (mois), tout comme la visualisation de la Banque mondiale (région). Pour chaque variable de sélection, animint2 stocke les valeurs sélectionnées. Lorsque la sélection change, animint2 met à jour le sous-ensemble de données affiché.
Les deux visualisations présentées ci-dessus ne comportent qu’une seule variable de sélection. Par contre, une visualisation de données peut avoir autant de variables de sélection que vous le souhaitez. Dans la section suivante, nous étudierons une visualisation des données de la Banque mondiale, avec les variables de sélection région et année.
duration et aes(key)
Vous avez peut-être remarqué la présence de boutons sous chaque visualisation de données créée par animint2. Cliquez sur le bouton “Show animation controls” de la visualisation présentée ci-dessus. Vous verrez alors que ce tableau contient une ligne pour chaque variable de sélection. Les zones de texte indiquent le nombre de millisecondes utilisées pour les durées de transition après la mise à jour de chaque variable de sélection. Pour chaque variable de sélection, la durée de transition par défaut est 0, ce qui signifie que les données seront immédiatement placées à leur nouvelle position après la mise à jour de chaque variable.
Pour illustrer l’importance des durées de transition, essayez de changer la valeur de la durée de transition de la variable année pour 2000. Ensuite, utilisez le menu pour modifier la valeur sélectionnée de la variable année. Vous devriez voir les points de données se déplacer lentement vers leurs nouvelles positions en 2 secondes.
Certaines transitions n’entraînent qu’un léger déplacement des points vers des positions proches (par exemple, 1979-1980). D’autres transitions entraînent un déplacement beaucoup plus important des points, vers des localisations plus éloignées (par exemple 1980-1981). Pourquoi?
Les transitions fluides n’ont de sens que pour les points de données qui existent à la fois avant et après la modification de la sélection. Dans le code R ci-dessous, nous calculons un tableau de contingence des points de données qui peuvent être tracés pour chacune de ces trois années.
can.plot
FALSE TRUE
1979 27 187
1980 27 187
1981 26 188
Le tableau de contingence ci-dessus montre clairement que 187 points peuvent être tracés en 1979 et 1980. Cependant, en 1981, il y a un point de données supplémentaire correspondant à un pays pour lequel nous n’avions pas de données en 1980. Nous présentons ci-dessous les données de ce pays, le Kosovo.
subset(trois.ans, pays=="Kosovo") iso2c country year fertility.rate life.expectancy population
5850 KV Kosovo 1979 NA NA 1491000
5851 KV Kosovo 1980 NA NA 1521000
5852 KV Kosovo 1981 4.5758 65.93268 1552000
GDP.per.capita.Current.USD 15.to.25.yr.female.literacy iso3c
5850 NA NA KSV
5851 NA NA KSV
5852 NA NA KSV
region capital longitude latitude
5850 Europe & Central Asia (all income levels) Pristina 20.926 42.565
5851 Europe & Central Asia (all income levels) Pristina 20.926 42.565
5852 Europe & Central Asia (all income levels) Pristina 20.926 42.565
income lending Region région
5850 Lower middle income IDA Europe & Central Asia Europe et Asie centrale
5851 Lower middle income IDA Europe & Central Asia Europe et Asie centrale
5852 Lower middle income IDA Europe & Central Asia Europe et Asie centrale
espérance.de.vie taux.de.fertilité année pays PIB.par.habitant.USD
5850 NA NA 1979 Kosovo NA
5851 NA NA 1980 Kosovo NA
5852 65.93268 4.5758 1981 Kosovo NA
alphabétisation revenu
5850 NA Revenu moyen bas
5851 NA Revenu moyen bas
5852 NA Revenu moyen bas
On voit bien que les données sur le taux de fertilité et sur l’espérance de vie sont absentes du tableau pour le Kosovo en 1979 et en 1980. Il ne serait donc pas logique d’effectuer une transition fluide pour ce pays, puisque les données ne sont présentes ni avant ni après la transition. Comment le spécifier dans la visualisation de données? Dans le code ci-dessous, nous utilisons aes(key=pays) pour spécifier que la variable pays doit être utilisée pour faire correspondre les points de données avant et après la modification de la sélection.
nuage.key <- ggplot()+
geom_point(aes(
x=espérance.de.vie, y=taux.de.fertilité, color=région,
key=pays),
showSelected="année",
data=BanqueMondiale)Le aes(key) dans le ggplot ci-dessus n’a de sens que pour la visualisation interactive des données, il est donc ignoré lorsqu’il est affiché avec les périphériques graphiques R habituels. Cependant, si nous affichons ce ggplot en utilisant animint2, la variable pays permettra des durées de transitions pertinentes. Pour spécifier une durée de transition par défaut pour la variable année nous utilisons l’option duration dans l’image de données ci-dessous.
L’option duration doit être une liste nommée. Chaque nom doit être une variable de sélection et chaque valeur doit spécifier le nombre de millisecondes à utiliser pour la durée de la transition lorsque la valeur sélectionnée de cette variable est modifiée.
Si vous cliquez sur “Show animation controls” (Afficher les contrôles d’animation) dans le graphique ci-dessus, vous verrez que la zone de texte pour la variable année est 2000, comme spécifié dans le code R. Si vous changez la sélection de 1980 à 1981, vous devriez voir une transition correcte.
De façon générale, aes(key) doit être spécifié pour tous les geoms qui utilisent le mot-clé showSelected avec une variable qui apparaît dans l’option duration. Dans cet exemple, nous avons utilisé l’option duration pour spécifier une transition fluide pour la variable année. Puisque nous utilisons showSelected=année dans geom_point nous avons également spécifié aes(key) pour ce geom.
time
L’option time permet de spécifier une variable à utiliser pour l’animation. Dans le code ci-dessous, on utilise l’option time pour préciser année comme variable d’animation, et mettre l’animation à jour toutes les 2000 millisecondes.
viz.duration.time <- viz.duration
viz.duration.time$time <- list(variable="année", ms=2000)
viz.duration.timeOn dit que la visualisation ci-dessus est animée, parce que la sélection pour année va changer toutes les deux secondes.
Exercice : réalisez une visualisation de données animée qui n’utilise PAS de transitions fluides. Indice : créez une liste de ggplots qui intègrent l’option time mais pas l’option duration.
Dans ce chapitre, nous avons expliqué l’utilisation du mot-clé showSelected, des menus de sélection, des transitions et de l’animation.
Exercices :
vis.alignée du chapitre précédent. Au lieu de fixer l’année à 1975, utilisez showSelected=année pour que l’utilisateur puisse sélectionner une année. Ajoutez des geoms qui affichent l’année sélectionnée : un geom_text sur le nuage de points et un geom_vline sur la série chronologique.
library(animation), il y a toujours une boucle for dans l’option time. Au lieu d’appeler une fonction d’affichage à l’intérieur de la boucle for, utilisez l’idiome liste de tableaux de données pour stocker les données qui doivent être tracées. Utilisez ensuite ces données avec showSelected pour créer des ggplots, et affichez-les avec animint2.Dans le chapitre 4, nous vous expliquerons le mot-clé clickSelects qui indique un geom sur lequel on peut cliquer pour mettre à jour une variable de sélection.