Effectuer une analyse de facteurs multidimensionnelle avec FactoMineR

Lorsque nous faisons de l’analyse de données, nous pouvons être confrontés à des données sur plusieurs dimensions. Il existe des techniques pour se représenter ces données assez facilement, tant qu’elles sont chiffrées. Toutefois, lorsque ces données sont mixtes, à savoir à la fois numériques (par âge, par taille…) et par classes (par sexe, par région…), il faut des outils plus spécifiques.
Nous allons ici installer FactoMineR, un package du langage R qui permet de lancer une analyse FAMD, qui convient aux analyses de données multidimensionnelles mixtes. FAMD signifie Factor Analysis of Mixed Data.
Installation des outils
Tout d’abord, installons les outils nécessaires au tutoriel avec Homebrew :
bash-prompt> brew install socat docker docker-machine
bash-prompt> brew cask install virtualbox xquartz
Démarrer l’environnement R sous Docker
Nous commencerons par lancer Docker avec docker-machine et préparer l’environnement. Nous allons créer une machine virtuelle factominer :
bash-prompt> docker-machine create -d virtualbox factominer
bash-prompt> docker-machine start factominer
bash-prompt> eval $(docker-machine env factominer)
Nous avons ensuite besoin de l’adresse IP de la machine virtuelle pour faire du transfert de ports X11 :
bash-prompt> ifconfig | grep -e vbox -A4
Nous récupérons l’adresse IP nommée inet
, par exemple dans inet 192.168.99.1 netmask 0xffffff00 broadcast 192.168.99.255
nous récupérons 192.168.99.1
et l’appelerons <adresse-vbox>
.
Nous lançons ensuite XQuartz, et nous transférons son port X11 vers un port TCP local :
bash-prompt> xquartz
bash-prompt> socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\" &
Enfin, nous lançons R avec la librairie FactoMineR grace à Docker (et au Dockerfile gentiment fourni par l’Institut de Génomique de Paris) :
bash-prompt> docker run -e DISPLAY=<adresse-vbox>:0 -it genomicpariscentre/babel:latest
Utiliser la librairie R FactoMineR dans l’environnement
Une fois dans l’environnement R, nous pouvons utiliser FactoMineR. Par exemple pour faire une FAMD sur l’exemple donné dans l’aide :
r-prompt> library(FactoMineR)
r-prompt> data(geomorphology)
r-prompt> res <- FAMD(geomorphology)
Voilà ! FactoMineR fonctionne avec un environnement graphique sous macOS, au lieu d’envoyer ses données graphiques dans des PDF par défaut…
Discussion