Analyses en composantes principales avec Rpy2
Utilisation du langage R dans l'environnement python
Le module Rpy2 permet d'émuler R dans l'environnement python et d'utiliser ainsi les commandes R sous python.
1- Installer Rpy2 - suivre le lien interne suivant.
2- Lancer le module pandas et ouvrir un tableau de données (dataframes)
import easygui # pour ouvrir une fenêtre de sélection de fichier
import pandas as df # pour gérer les dataframes
mytab = df.read_excel(easygui.fileopenbox()) # Dans mon exemple, j'ouvre ce jeu de données
print(mytab.head(1)) # Afficher le tableau
mytab= mytab.iloc[2:15,[1,2,3,5,6,7,8,9,10,11]] # Sélection les colonnes 1 à 14 (et supprimer les colonnes 0 et 15) - supprimer au passage les lignes 0 à 1.
print(mytab)
3- Lancer Rpy2 et faire l'ACP (Analyse en Composantes Principales)
3.1- Convertir le tableau au format R
from rpy2.robjects import pandas2ri as pandas2ri # Commande utile
# Si la commande précédente renvoie un message d'erreur : taper la commande suivante dans la console Windows :
# pip install tzlocal
# Conversion
pandas2ri.activate() # Pour activer la fonction
r_mytab = pandas2ri.py2ri(mytab)
3.2- Réaliser l'ACP et afficher le résultat en biplot
import rpy2.robjects as rr
#r_mytab = rr.r.matrix(r_mytab,ncol=14)
print(rr.r['colnames'](r_mytab)) # Afficher le titre des colonnes
pca = rr.r.prcomp(r_mytab) # Faire l'ACP
# pca = rr.r.prcomp(r_mytab, **{'scale': 'TRUE','center':'TRUE'} ) # si on paramètre
rr.r.plot(pca, main="Valeurs projetées")
rr.r.biplot(pca, main="biplot")