В статистике мы часто используемкоэффициент корреляции Пирсона для измерения линейной зависимости между двумя переменными. Однако иногда нам интересно понять взаимосвязь между двумя переменными , контролируя при этом третью переменную .
Например, предположим, что мы хотим измерить связь между количеством часов, отработанных учащимся, и полученной им итоговой оценкой на экзамене, контролируя текущую оценку учащегося в классе. В этом случае мы могли бы использовать частичную корреляцию для измерения взаимосвязи между часами обучения и итоговой оценкой на экзамене.
В этом руководстве объясняется, как рассчитать частичную корреляцию в 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 вы можете найти здесь .