Jak używać cor() do obliczania współczynników korelacji w r


Możesz użyć funkcji cor() w R, aby obliczyć współczynniki korelacji między zmiennymi.

Oto najczęstsze sposoby korzystania z tej funkcji:

Metoda 1: obliczyć współczynnik korelacji Pearsona pomiędzy dwiema zmiennymi

 cor(df$x, df$y)

Użyj współczynnika korelacji Pearsona przy obliczaniu korelacji między dwiema zmiennymi ciągłymi. (np. wzrost i waga)

Metoda 2: Oblicz współczynnik korelacji Pearsona pomiędzy wszystkimi zmiennymi numerycznymi w ramce danych

 cor(df)

Ta metoda zwróci macierz korelacji zawierającą współczynnik korelacji Pearsona pomiędzy każdą kombinacją par zmiennych numerycznych w ramce danych.

Metoda 3: obliczyć współczynnik korelacji Spearmana pomiędzy dwiema zmiennymi

 cor(df$x, df$y, method=' spearman ')

Użyj współczynnika korelacji Spearmana przy obliczaniu korelacji między dwiema zmiennymi rankingowymi. (np. ranking wyników ucznia z egzaminu z matematyki w porównaniu z rankingiem jego wyników z egzaminu z przedmiotów ścisłych w klasie)

Metoda 4: obliczyć współczynnik korelacji Kendalla pomiędzy dwiema zmiennymi

 cor(df$x, df$y, method=' kendall ')

Użyj współczynnika korelacji Kendalla, jeśli chcesz użyć korelacji Spearmana, ale wielkość próby jest mała i istnieje wiele powiązań.

Poniższe przykłady pokazują, jak zastosować każdą metodę w praktyce z następującą ramką danych w R, która pokazuje liczbę godzin spędzonych na nauce, liczbę zdanych egzaminów praktycznych i ocenę końcową z egzaminu dla ośmiu różnych uczniów:

 #create data frame
df <- data. frame (hours=c(1, 1, 3, 2, 4, 3, 5, 6),
                 prac_exams=c(4, 3, 3, 2, 3, 2, 1, 4),
                 score=c(69, 74, 74, 70, 89, 85, 99, 90))

#view data frame
df

  hours prac_exams score
1 1 4 69
2 1 3 74
3 3 3 74
4 2 2 70
5 4 3 89
6 3 2 85
7 5 1 99
8 6 4 90

Przykład 1: Oblicz współczynnik korelacji Pearsona między dwiema zmiennymi

Poniższy kod pokazuje, jak używać funkcji cor() do obliczenia współczynnika korelacji Pearsona pomiędzy godzinami i zmiennymi punktowymi :

 #calculate Pearson correlation coefficient between hours and score
cor(df$hours, df$score)

[1] 0.8600528

Stwierdzono, że współczynnik korelacji Pearsona pomiędzy godzinami a wynikiem wynosi 0,86.

Pamiętaj, że jeśli w Twojej ramce danych znajdują się wartości NA, możesz użyć argumentu use=’complete.obs’ , aby użyć tylko wierszy, w których nie ma wartości NA:

 #calculate Pearson correlation coefficient and ignore any rows with NA
cor(df$hours, df$score, use=' complete.obs ')

Przykład 2: Oblicz współczynnik korelacji Pearsona pomiędzy wszystkimi zmiennymi numerycznymi

Poniższy kod pokazuje, jak używać funkcji cor() do tworzenia macierzy korelacji zawierającej współczynnik korelacji Pearsona pomiędzy wszystkimi zmiennymi numerycznymi w ramce danych:

 #calculate Pearson correlation coefficient between all numeric variables
cor(df)

                hours prac_exams score
hours 1.0000000 -0.1336063 0.8600528
prac_exams -0.1336063 1.0000000 -0.3951028
score 0.8600528 -0.3951028 1.0000000

Oto jak zinterpretować wynik:

  • Współczynnik korelacji Pearsona pomiędzy godzinami a egzaminami praktycznymi wynosi -0,13 .
  • Współczynnik korelacji Pearsona pomiędzy godzinami a wynikiem wynosi 0,86 .
  • Współczynnik korelacji Pearsona pomiędzy prac_exams a wynikiem wynosi -0,39 .

Uwaga : Współczynnik korelacji Pearsona pomiędzy każdą pojedynczą zmienną a nią samą wynosi zawsze 1, dlatego każda wartość wzdłuż przekątnej macierzy korelacji wynosi 1.

Przykład 3: Oblicz współczynnik korelacji Spearmana między dwiema zmiennymi

Poniższy kod pokazuje, jak użyć funkcji cor() do obliczenia współczynnika korelacji Spearmana pomiędzy zmiennymi hours i prac_exams :

 #calculate Spearman correlation coefficient between hours and prac_exams
cor(df$hours, df$prac_exams, method=' spearman ')

[1] -0.1250391

Współczynnik korelacji Spearmana pomiędzy godzinami a egzaminami praktycznymi okazuje się wynosić -0,125.

Przykład 4: Oblicz współczynnik korelacji Kendalla między dwiema zmiennymi

Poniższy kod pokazuje, jak używać funkcji cor() do obliczenia współczynnika korelacji Kendalla między zmiennymi hours i prac_exams :

 #calculate Kendall's correlation coefficient between hours and prac_exams
cor(df$hours, df$prac_exams, method=' kendall ')

[1] -0.1226791

Współczynnik korelacji Kendalla między godzinami a egzaminami praktycznymi wynosi -0,123.

Dodatkowe zasoby

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

Jak obliczyć korelację przesuwną w R
Jak obliczyć autokorelację w R
Jak obliczyć korelację częściową w R

Dodaj komentarz

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