Как рассчитать частичную корреляцию в R


В статистике мы часто используемкоэффициент корреляции Пирсона для измерения линейной зависимости между двумя переменными. Однако иногда нам интересно понять взаимосвязь между двумя переменными , контролируя при этом третью переменную .

Например, предположим, что мы хотим измерить связь между количеством часов, отработанных учащимся, и полученной им итоговой оценкой на экзамене, контролируя текущую оценку учащегося в классе. В этом случае мы могли бы использовать частичную корреляцию для измерения взаимосвязи между часами обучения и итоговой оценкой на экзамене.

В этом руководстве объясняется, как рассчитать частичную корреляцию в R.

Пример: Частичная корреляция в R

Предположим, у нас есть следующий фрейм данных, который отображает текущую оценку, общее количество часов обучения и итоговый балл за экзамен для 10 студентов:

#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

Чтобы вычислить частичную корреляцию между каждой парной комбинацией переменных в кадре данных, мы можем использовать функцию pcor() из библиотеки 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"

Вот как интерпретировать вывод:

Частичная корреляция между учебными часами и итоговой оценкой за экзамен:

Частичная корреляция между часами обучения и итоговой оценкой экзамена составляет 0,191 , что является небольшой положительной корреляцией. По мере увеличения часов обучения экзаменационная оценка также имеет тенденцию к увеличению, при условии, что текущая оценка остается неизменной.

Значение p для этой частичной корреляции составляет 0,623 , что не является статистически значимым при α = 0,05.

Частичная корреляция между текущей оценкой и итоговым баллом за экзамен:

Частичная корреляция между текущей оценкой и итоговым результатом экзамена составляет 0,736 , что является сильной положительной корреляцией. По мере повышения текущей оценки экзаменационная оценка также имеет тенденцию к увеличению, при условии, что количество часов обучения остается постоянным.

Значение p для этой частичной корреляции составляет 0,024 , что является статистически значимым при α = 0,05.

Частичная корреляция между текущей оценкой и отработанными часами:

Частичная корреляция между текущей оценкой, отработанными часами и итоговой оценкой экзамена составляет -0,311 , что является слабой отрицательной корреляцией. По мере повышения текущей оценки балл за итоговый экзамен имеет тенденцию к снижению, при условии, что балл за итоговый экзамен остается постоянным.

Значение p для этой частичной корреляции составляет 0,415 , что не является статистически значимым при α = 0,05.

Вывод также сообщает нам, что метод, используемый для расчета частичной корреляции, был «пирсон». В функции pcor() мы также можем указать «kendall» или «pearson» в качестве альтернативных методов для расчета корреляций.

Полную документацию по библиотеке ppcor вы можете найти здесь .

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.