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)

Analyses_sangs.xlsx

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")