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