Comment calculer la corrélation partielle dans R



En statistique, on utilise souvent le coefficient de corrélation de Pearson pour mesurer la relation linéaire entre deux variables.

Cependant, nous souhaitons parfois comprendre la relation entre deux variables tout en contrôlant une troisième variable .

Par exemple, supposons que nous souhaitions mesurer l’association entre le nombre d’heures d’études d’un étudiant et la note obtenue à l’examen final, tout en contrôlant la note actuelle de l’étudiant dans la classe.

Dans ce cas, nous pourrions utiliser une corrélation partielle pour mesurer la relation entre les heures étudiées et la note à l’examen final.

Ce tutoriel explique comment calculer une corrélation partielle dans R.

Exemple : corrélation partielle dans R

Supposons que nous ayons le bloc de données suivant qui affiche la note actuelle, le nombre total d’heures étudiées et la note de l’examen final pour 10 étudiants :

#create data frame
df <- data.frame(currentGrade = c(82, 88, 75, 74, 93, 97, 83, 90, 90, 80),
                 hours = c(4, 3, 6, 5, 4, 5, 8, 7, 4, 6),
                 examScore = c(88, 85, 76, 70, 92, 94, 89, 85, 90, 93))

#view data frame
df

   currentGrade hours examScore
1            82     4        88
2            88     3        85
3            75     6        76
4            74     5        70
5            93     4        92
6            97     5        94
7            83     8        89
8            90     7        85
9            90     4        90
10           80     6        93

Pour calculer la corrélation partielle entre chaque combinaison par paire de variables dans le dataframe, nous pouvons utiliser la fonction pcor() de la bibliothèque ppcor :

library(ppcor)

#calculate partial correlations
pcor(df)

$estimate
             currentGrade      hours examScore
currentGrade    1.0000000 -0.3112341 0.7355673
hours          -0.3112341  1.0000000 0.1906258
examScore       0.7355673  0.1906258 1.0000000

$p.value
             currentGrade     hours  examScore
currentGrade   0.00000000 0.4149353 0.02389896
hours          0.41493532 0.0000000 0.62322848
examScore      0.02389896 0.6232285 0.00000000

$statistic
             currentGrade      hours examScore
currentGrade    0.0000000 -0.8664833 2.8727185
hours          -0.8664833  0.0000000 0.5137696
examScore       2.8727185  0.5137696 0.0000000

$n
[1] 10

$gp
[1] 1

$method
[1] "pearson"

Voici comment interpréter le résultat :

Corrélation partielle entre les heures étudiées et la note de l’examen final :

La corrélation partielle entre les heures étudiées et la note de l’examen final est de 0,191 , ce qui représente une petite corrélation positive. À mesure que le nombre d’heures d’étude augmente, les résultats à l’examen ont également tendance à augmenter, en supposant que la note actuelle reste constante.

La valeur p pour cette corrélation partielle est de 0,623 , ce qui n’est pas statistiquement significatif à α = 0,05.

Corrélation partielle entre la note actuelle et la note de l’examen final :

La corrélation partielle entre la note actuelle et la note de l’examen final est de 0,736 , ce qui représente une forte corrélation positive. À mesure que la note actuelle augmente, les résultats à l’examen ont également tendance à augmenter, en supposant que le nombre d’heures étudiées reste constant.

La valeur p pour cette corrélation partielle est de 0,024 , ce qui est statistiquement significatif à α = 0,05.

Corrélation partielle entre la note actuelle et les heures étudiées :

La corrélation partielle entre la note actuelle, les heures étudiées et la note de l’examen final est de -0,311 , ce qui représente une légère corrélation négative. À mesure que la note actuelle augmente, la note à l’examen final a tendance à diminuer, en supposant que la note à l’examen final reste constante.

La valeur p pour cette corrélation partielle est de 0,415 , ce qui n’est pas statistiquement significatif à α = 0,05.

Le résultat nous indique également que la méthode utilisée pour calculer la corrélation partielle était « Pearson ».

Dans la fonction pcor() , nous pourrions également spécifier « kendall » ou « pearson » comme méthodes alternatives pour calculer les corrélations.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment calculer la corrélation de rang de Spearman dans R
Comment calculer la corrélation croisée dans R
Comment calculer la corrélation glissante dans R
Comment calculer la corrélation point-bisériale dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *