Як обчислити часткову кореляцію в 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 :
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"
Ось як інтерпретувати результат:
Часткова кореляція між вивченими годинами та оцінкою підсумкового іспиту:
Часткова кореляція між вивченими годинами та оцінкою підсумкового іспиту становить 0,191 , що являє собою невелику позитивну кореляцію. Зі збільшенням кількості навчальних годин результати іспитів також мають тенденцію до зростання, припускаючи, що поточна оцінка залишається постійною.
P-значення для цієї часткової кореляції становить 0,623 , що не є статистично значущим при α = 0,05.
Часткова кореляція між поточною оцінкою та оцінкою підсумкового іспиту:
Часткова кореляція між поточною оцінкою та оцінкою підсумкового іспиту становить 0,736 , що являє собою сильну позитивну кореляцію. У міру підвищення поточної оцінки оцінки за іспит також мають тенденцію до підвищення, припускаючи, що кількість вивчених годин залишається постійною.
P-значення для цієї часткової кореляції становить 0,024 , що є статистично значущим при α = 0,05.
Часткова кореляція між поточною оцінкою та вивченими годинами:
Часткова кореляція між поточною оцінкою, вивченими годинами та оцінкою підсумкового іспиту становить -0,311 , що являє собою невелику негативну кореляцію. Коли поточна оцінка підвищується, оцінка підсумкового іспиту має тенденцію до зниження, припускаючи, що оцінка остаточного іспиту залишається постійною.
P-значення для цієї часткової кореляції становить 0,415 , що не є статистично значущим при α = 0,05.
Результат також говорить нам, що для обчислення часткової кореляції був використаний метод Пірсона.
У функції pcor() ми також можемо вказати “kendall” або “pearson” як альтернативні методи обчислення кореляції.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в R:
Як розрахувати кореляцію рангів Спірмена в R
Як обчислити перехресну кореляцію в R
Як розрахувати ковзну кореляцію в R
Як обчислити точково-бісеріальну кореляцію в R