Comment calculer la corrélation entre plusieurs variables dans R
Une façon de quantifier la relation entre deux variables consiste à utiliser le coefficient de corrélation de Pearson , qui est une mesure de l’association linéaire entre deux variables . Il prend toujours une valeur comprise entre -1 et 1 où :
- -1 indique une corrélation linéaire parfaitement négative entre deux variables
- 0 indique aucune corrélation linéaire entre deux variables
- 1 indique une corrélation linéaire parfaitement positive entre deux variables
Ce didacticiel explique comment calculer la corrélation entre plusieurs variables dans R, en utilisant le bloc de données suivant comme exemple :
#create data frame
df <- data.frame(a <- c(2, 3, 3, 5, 6, 9, 14, 15, 19, 21, 22, 23),
b <- c(23, 24, 24, 23, 17, 28, 38, 34, 35, 39, 41, 43),
c <- c(13, 14, 14, 14, 15, 17, 18, 19, 22, 20, 24, 26),
d <- c(6, 6, 7, 8, 8, 8, 7, 6, 5, 3, 3, 2))
Exemple 1 : Corrélation entre deux variables
Le code suivant montre comment calculer la corrélation entre deux variables dans le bloc de données :
cor(df$a, df$b) [1] 0.9279869
Exemple 2 : Corrélation entre plusieurs variables
Le code suivant montre comment calculer la corrélation entre trois variables dans le bloc de données :
cor(df[, c('a', 'b', 'c')]) a b c a 1.0000000 0.9279869 0.9604329 b 0.9279869 1.0000000 0.8942139 c 0.9604329 0.8942139 1.0000000
La façon d’interpréter le résultat est la suivante :
- La corrélation entre a et b est de 0,9279869.
- La corrélation entre a et c est de 0,9604329.
- La corrélation entre b et c est de 0,8942139.
Exemple 3 : Corrélation entre toutes les variables
Le code suivant montre comment calculer la corrélation entre toutes les variables d’un bloc de données :
cor(df) a b c d a 1.0000000 0.9279869 0.9604329 -0.7915488 b 0.9279869 1.0000000 0.8942139 -0.7917973 c 0.9604329 0.8942139 1.0000000 -0.8063549 d -0.7915488 -0.7917973 -0.8063549 1.0000000
Exemple 4 : Corrélation entre uniquement des variables numériques
Le code suivant montre comment calculer la corrélation entre uniquement les variables numériques dans un bloc de données :
cor(df[,unlist(lapply(df, is.numeric))]) a b c d a 1.0000000 0.9279869 0.9604329 -0.7915488 b 0.9279869 1.0000000 0.8942139 -0.7917973 c 0.9604329 0.8942139 1.0000000 -0.8063549 d -0.7915488 -0.7917973 -0.8063549 1.0000000
Exemple 5 : Visualiser les corrélations
Le code suivant montre comment créer un tracé de paires – un type de tracé qui vous permet de visualiser la relation entre chaque combinaison de variables par paire :
#load psych package library(psych) #create pairs plot pairs.panels(df)
Ressources additionnelles
Comment calculer la corrélation partielle dans R
Comment calculer la corrélation point-bisériale dans R
Comment calculer la corrélation glissante dans R