Super matrice de corrélation avec R

mongraphique.png

Matrice de corrélation sous  R

Attention, voici un post qui n’a rien a voir avec les livres. 

Mais qui, néanmoins, pourrais servir aux étudiants et chercheurs perdus dans la dense jungle des statistiques. Les corrélations sont l’une des procédures statistiques les plus basiques, permettant de voir les liens linéaires entre deux variables. Souvent, une fois ses données acquises, il est courant de faire une matrice de corrélation (un tableau contenant toutes les corrélations entre nos variables deux à deux) pour voir comment les variables s’organisent entre elles (je ne juge pas du bien fondé de cette pratique).

Et il s’avère que j’ai justement un développé un package, open-source et gratuit, qui permet de le faire très simplement avec R.

Je vais vous montrer ici comment faire.

  1. Si ce n’est déjà fait, installez R et RStudio.
  2. Ouvrez RStudio et créez un nouveau script.
  3. Sauvegardez le quelque part.
  4. Coller dans ce script (la fenêtre en haut à gauche) le code suivant.
install.packages("psycho")
library("psycho")

Sélectionnez ces  2 lignes et appuyez sur CTRL + ENTRER pour l’exécuter dans la console. Après quelques téléchargements, vous devriez réussir à installer et activer le package que l’on va utiliser.

On va ensuite invoquer pour un set de donnée disponible dans R pour le rendre visible (et l’attacher à une variable que l’on nommera « df ») et l’utiliser dans cet exemple.

Exécutez la ligne suivante :

df <- attitude

Maintenant que nos données sont chargées dans une dataframe nommée « df », On peut en faire un rapide résumé. Pour cela, exécutez le code suivant :

summary(df)

Comme on peut le voir, notre dataset contient 7 variables numériques (correspondants à la réponse de 30 employés à 7 questions portant sur leur entreprise, comme le salaire, les opportunités d’apprendre, la qualité générale etc.).

Ok, nous allons maintenant pouvoir calculer les corrélations. On va stocker les résultats dans une variable appelée « results ».

results <- correlation(df)
summary(results)
plot(results)

Ta-dam, R nous sort un tableau de corrélation dans la console associé à un joli graphique. C’est un début, mais on aimerait enregistrer ces 2 éléments pour pouvoir les réutiliser dans un article ou un mémoire.

matable <- summary(results)

On va donc enregistrer la matrice dans un objet « matable ». On peut ensuite sauvegarder cette table en l’enregistrant au format .csv (pour Comma-Separated Values; le format standard de statistique ouvrable par excel et tout les programmes de stats). Sous RStudio, cliquez sur « Session -> Set Working Directory -> Choose Directory » et choisissez là ou vous voulez l’enregistrer. Ensuite, exécutez la ligne suivante :

write.csv2(matable, "matable.csv")

Vous pouvez ensuite ouvrir votre fichier matable.csv avec excel (note: si jamais vous êtes sur un ordi anglais, essayez write.csv() dans le « 2 »).

matrice_correlation

Vous pouvez maintenant copier ce tableau sous Word et en faire ce que vous voulez.

Mais comment enregistrer le graphique ? De manière similaire, on va enregistrer la sortie de la fonction pour faire le graphique dans un objet « mongraphique » comme ceci :

mongraphique <- plot(results)

Ce graphique étant au format ggplot2, vous pouvez ensuite le sauvegarder comme suit :

ggsave("mongraphique.png", mongraphique)

mongraphique.png

Et voilà, le tour  est joué.

A noter que vous pouvez également modifier le type de corrélation (pearson par défaut) en faisant correlation(df, type= « spearman »), ainsi que modifier la correction des p values  (Holm-Bonferroni par défaut) en faisant correlation(df, adjust= « none ») pour faire des corrélations non-corrigées (ceci est vivement déconseillé).

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s