explor

explor est un package R qui permet l’exploration “interactive” des résultats d’une analyse exploratoire multidimensionnelle.

Pour le moment il est utilisable avec les types d’analyses suivants :

Méthode Fonction Package Notes
Analyse en composantes principales PCA FactoMineR Les variables supplémentaires qualitatives ne sont pas prises en charge
Analyse des correspondances CA FactoMineR -
Analyse des correspondances multiples MCA FactoMineR -
Analyse en composantes principales dudi.pca ade4 Les variables supplémentaires qualitatives ne sont pas prises en charge
Analyse des correspondances dudi.coa ade4 -
Analyse des correspondances multiples dudi.acm ade4 Les variables supplémentaires quantitatives ne sont pas prises en charge

La philosophie d’explor est de n’être qu’une interface de visualisation, et de ne rien “exécuter” par elle-même. Les analyses et calculs se font dans votre script R, et explor vous aide seulement à visualiser leurs résultats. L’idée est de conserver l’ensemble des commandes dans les scripts et de ne pas risquer d’être un obstacle à la reproductibilité des analyses.

Fonctionnalités

Pour chaque méthode, explor lance une interface Web interactive qui s’affiche soit directement dans RStudio, soit dans votre navigateur Web. Cette interface comprend une série d’onglets présentant différents tableaux et graphiques. Ceux-ci sont, autant que possible, “interactifs” : les résultats numériques sont affichés sous forme de tableaux dynamiques triables et filtrables (grâce au package DT), et les graphiques, générés pour la plupart par le package scatterD3, ont les fonctionnalités suivantes :

À noter que les interfaces sont traduites en français.

Utilisation

L’utilisation du package est très simple : il suffit d’appliquer la fonction explor() à l’objet résultant d’une méthode prise en charge.

Fonctions de FactoMineR

Pour les fonctions de FactoMineR prises en charge, il suffit de passer l’objet contenant les résultats directement àexplor().

Exemple d’analyse en composantes principales avec FactoMineR::PCA :

library(FactoMineR)
data(decathlon)
pca <- PCA(decathlon[,1:12], quanti.sup = 11:12)
explor(pca)

Exemple d’analyse des correspondances simples avec FactoMiner::CA :

data(children)
res.ca <- CA(children, row.sup = 15:18, col.sup = 6:8)
explor(res.ca)

Exemple d’analyse des correspondances multiples avec FactoMineR::MCA :

library(FactoMineR)
data(hobbies)
mca <- MCA(hobbies[1:1000, c(1:8,21:23)], quali.sup = 9:10, 
           quanti.sup = 11, ind.sup = 1:100)
explor(mca)

Fonctions d’ade4

Les résultats des fonctions d’ade4 prises en charge peuvent également être directement passées à explor().

Par exemple, pour visualiser les résultats d’une ACP :

library(ade4)
data(deug)
pca <- dudi.pca(deug$tab, scale = TRUE, scannf = FALSE, nf = 5)
explor(pca)

Des étapes supplémentaires sont nécessaires si on souhaite ajouter des éléments supplémentaires, car ade4 ne les inclut pas directement dans l’objet résultat. Il faut donc calculer les coordonnées de ces éléments avec suprow ou supcol, et les ajouter comme éléments supi (pour les individus supplémentaires) ou supv (pour les variables supplémentaires) de l’objet résultat.

Voici un exemple de comment faire tout cela pour une ACP :

data(deug)
d <- deug$tab
sup_var <- d[-(1:10), 8:9]
sup_ind <- d[1:10, -(8:9)]
pca <- dudi.pca(d[-(1:10), -(8:9)], scale = TRUE, scannf = FALSE, nf = 5)
## Individus supplémentaires
supi <- suprow(pca, sup_ind)
pca$supi <- supi$lisup
## Variables supplémentaires
supv <- supcol(pca, dudi.pca(sup_var, scale = TRUE, scannf = FALSE)$tab)
pca$supv <- supv$cosup
explor(pca)

Il est nécessaire de faire la même chose en cas d’éléments supplémentaires pour une analyse des correspondances multiples, mais le calcul des coordonnées des variables supplémentaires est un peu plus compliqué :

data(banque)
d <- banque[-(1:100),-(19:21)]
ind_sup <- banque[1:100, -(19:21)]
var_sup <- banque[-(1:100),19:21]
acm <- dudi.acm(d, scannf = FALSE, nf = 5)
## Variables supplémentaires
acm$supv <- supcol(acm, dudi.acm(var_sup, scannf = FALSE, nf = 5)$tab)$cosup
colw <- acm$cw*ncol(d)
X <- acm.disjonctif(ind_sup)
X <- t(t(X)/colw) - 1
X <- data.frame(X)
## Individus supplémentaires
acm$supi <- suprow(acm, X)$lisup
explor(acm)

Pour une analyse des correspondances simples, on peut afficher des lignes ou colonnes supplémentaires en ajoutant leurs coordonnées à des éléments nommés supr ou supc :

data(bordeaux)
tab <- bordeaux
row_sup <- tab[5,-4]
col_sup <- tab[-5,4]
coa <- dudi.coa(tab[-5,-4], nf = 5, scannf = FALSE)
coa$supr <- suprow(coa, row_sup)$lisup
coa$supc <- supcol(coa, col_sup)$cosup
explor(coa)

Bugs et commentaires

explor est un package très récent, qui comporte donc certainement des bugs et autres problèmes. N’hésitez pas à les signaler par mail ou en créant une issue sur GitHub.