Jak obliczyć korelację częściową w r


W statystyce często używamy współczynnika korelacji Pearsona do pomiaru liniowej zależności między dwiema zmiennymi.

Czasami jednak chcemy zrozumieć związek między dwiema zmiennymi , kontrolując trzecią zmienną .

Załóżmy na przykład, że chcemy zmierzyć związek między liczbą godzin nauki studenta a oceną z egzaminu końcowego, kontrolując jednocześnie aktualną ocenę studenta z zajęć.

W tym przypadku moglibyśmy zastosować częściową korelację do pomiaru związku między przepracowanymi godzinami a oceną końcową z egzaminu.

W tym samouczku wyjaśniono, jak obliczyć częściową korelację w języku R.

Przykład: częściowa korelacja w R

Załóżmy, że mamy następującą ramkę danych, która wyświetla aktualną ocenę, łączną liczbę przepracowanych godzin i ocenę końcową z egzaminu dla 10 uczniów:

 #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

Aby obliczyć częściową korelację pomiędzy każdą parą kombinacji zmiennych w ramce danych, możemy użyć funkcji pcor() z biblioteki 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"

Oto jak zinterpretować wynik:

Częściowa korelacja między przestudiowanymi godzinami a oceną z egzaminu końcowego:

Częściowa korelacja między przepracowanymi godzinami a oceną z egzaminu końcowego wynosi 0,191 , co stanowi niewielką dodatnią korelację. Wraz ze wzrostem liczby godzin nauki wyniki egzaminów również rosną, przy założeniu, że aktualna ocena pozostaje stała.

Wartość p dla tej częściowej korelacji wynosi 0,623 , co nie jest statystycznie istotne przy α = 0,05.

Częściowa korelacja między oceną aktualną a oceną z egzaminu końcowego:

Częściowa korelacja między oceną bieżącą a oceną z egzaminu końcowego wynosi 0,736 , co oznacza silną dodatnią korelację. Wraz ze wzrostem aktualnej oceny wyniki egzaminów również rosną, przy założeniu, że liczba godzin nauki pozostaje stała.

Wartość p dla tej częściowej korelacji wynosi 0,024 , co jest statystycznie istotne przy α = 0,05.

Częściowa korelacja między obecną oceną a godzinami nauki:

Częściowa korelacja pomiędzy obecną oceną, przepracowanymi godzinami i oceną z egzaminu końcowego wynosi -0,311 , co oznacza niewielką korelację ujemną. Wraz ze wzrostem aktualnej oceny ocena z egzaminu końcowego ma tendencję do obniżania się, przy założeniu, że ocena z egzaminu końcowego pozostaje stała.

Wartość p dla tej częściowej korelacji wynosi 0,415 , co nie jest statystycznie istotne przy α = 0,05.

Wynik mówi nam również, że metodą zastosowaną do obliczenia korelacji częściowej była metoda „Pearsona”.

W funkcji pcor() możemy również określić „kendall” lub „pearson” jako alternatywne metody obliczania korelacji.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:

Jak obliczyć korelację rang Spearmana w R
Jak obliczyć korelację krzyżową w R
Jak obliczyć korelację przesuwną w R
Jak obliczyć korelację punktowo-biseryjną w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *