Visualisation interactive de résultats d’ACP et d’ACM avec R et explor

explor est un package récent pour R dont l’objectif est de faciliter la visualisation et l’exploration de résultats d’analyses en composantes principales (ACP) ou d’analyses des correspondances (ACM).

Son utilisation est très simple : vous effectuez votre analyse à l’aide des fonctions dont vous avez l’habitude (actuellement sont supportées les fonctions des packages ade4 et FactoMineR) et vous appliquez simplement la fonction explor() à l’objet résultat.

Voici un exemple très simple reprenant un jeu de données de FactoMineR :

library(FactoMineR)
library(explor)

data(hobbies)
res.mca <- MCA(hobbies,quali.sup=19:22,quanti.sup=23)
explor(res.mca)

Une interface devrait alors se lancer (dans RStudio si vous utilisez cet environnement, sinon dans votre navigateur Web) et qui devrait ressembler vaguement à ceci (à noter que les couleurs sont bien plus jolies « en vrai ») :

Screencast

L’interface change selon le type d’analyse, mais l’organisation globale reste la même : un barre d’onglets en haut de page vous permet de naviguer entre l’histogramme des valeurs propres, les tableaux de résultats et les graphiques représentant variables ou individus.

L’interface présente plusieurs fonctionnalités « interactives » :

  • Vous pouvez à tout moment modifier le ou les axes représentés
  • Les tableaux de résultats sont triables et filtrables dynamiquement
  • Vous pouvez sélectionner les points à afficher selon différents critères, leur opacité, leur taille
  • Vous pouvez associer couleur, symbole ou taille des points à différentes caractéristiques

Les graphiques eux-mêmes sont interactifs :

  • Vous pouvez zoomer avec la molette de la souris et vous déplacer dans le graphique en cliquant-déplaçant
  • Des tooltips apparaissent au survol des points avec les données correspondantes
  • Vous pouvez déplacer les étiquettes avec la souris pour les repositionner
  • Le survol des éléments de légende met en valeur les éléments correspondants

Les graphiques sont « dynamiques », c’est-à-dire que les changements d’axes, de taille, de couleur ou de points affichés s’effectuent sous forme d’animations qui peuvent faciliter la visualisation.

Enfin, vous pouvez à tout moment exporter le graphique actuellement affiché au format SVG.

explor supporte pour le moment les fonctions CA, MCA et PCA du package FactoMineR, et les fonctions dudi.coa, dudi.acm et dudi.pca du package ade4. Si vous souhaitez l’essayer c’est très simple, il vous suffit de l’installer avec :

install.packages("explor")

Pour plus d’informations vous pouvez consulter :

Le projet est assez jeune, donc n’hésitez pas à faire remonter bugs ou suggestions dans les commentaires, sur GitHub ou sur la liste r-soc.


4 réflexions au sujet de « Visualisation interactive de résultats d’ACP et d’ACM avec R et explor »

  1. Bonjour,

    Lorsque j’exécute la commande la fenêtre souhaitée disparait aussitôt après son apparition.

    J’obtiens ce message d’erreur

    Listening on http://127.0.0.1:3820
    ERROR: [on_request_read] connection reset by peer

    Pourriez-vous m’orienter sur le problème et la façon de le « fixer » ?
    D’avance merci.

  2. Bonjour,
    Ca a l’air vraiment excellent, et j’ai enfin quelque chose à conseiller pour faire des graphes avec FactoMineR, mille mercis !
    En revanche je suis embêtée car j’utilise, pour l’ACM spécifique, la bibliothèque GDAtools de Nicolas Robette, qui retourne les résultats sous un format légèrement différent (notamment, le problème est je crois que ses résultats sont un objet de classe « list »). Bon, il faut que je prenne le temps de regarder ça de plus près pour trouver peut-être moi-même une « moulinette » pour transformer les résultats de sa fonction speMCA en quelque chose d’utilisable par explor. Mais si vous, Julien, et/ou Nicolas voulez aussi y penser afin que cela serve à tout le monde… (voir https://cran.r-project.org/web/packages/GDAtools/index.html)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *