Як використовувати cor() для обчислення коефіцієнтів кореляції в r


Ви можете використовувати функцію cor() у R для обчислення коефіцієнтів кореляції між змінними.

Ось найпоширеніші способи використання цієї функції:

Спосіб 1: обчисліть коефіцієнт кореляції Пірсона між двома змінними

 cor(df$x, df$y)

Використовуйте коефіцієнт кореляції Пірсона під час розрахунку кореляції між двома безперервними змінними. (наприклад, зріст і вага)

Спосіб 2: обчисліть коефіцієнт кореляції Пірсона між усіма числовими змінними у кадрі даних

 cor(df)

Цей метод поверне кореляційну матрицю , що містить коефіцієнт кореляції Пірсона між кожною попарною комбінацією числових змінних у кадрі даних.

Метод 3: обчисліть коефіцієнт кореляції Спірмена між двома змінними

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

Використовуйте коефіцієнт кореляції Спірмена під час обчислення кореляції між двома ранжованими змінними. (наприклад, рейтинг результатів іспиту з математики учня порівняно з рейтингом результатів іспиту з природничих наук у класі)

Спосіб 4: обчисліть коефіцієнт кореляції Кендалла між двома змінними

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

Використовуйте коефіцієнт кореляції Кендалла, якщо ви хочете використовувати кореляцію Спірмена, але розмір вибірки невеликий і існує багато зв’язків.

У наведених нижче прикладах показано, як використовувати кожен метод на практиці з наступним кадром даних у R, який показує кількість годин, витрачених на навчання, кількість складених практичних іспитів і підсумкову оцінку іспиту для восьми різних студентів:

 #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

Приклад 1: обчисліть коефіцієнт кореляції Пірсона між двома змінними

У наступному коді показано, як використовувати функцію cor() для обчислення коефіцієнта кореляції Пірсона між змінними годин і балів :

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

[1] 0.8600528

Було встановлено, що коефіцієнт кореляції Пірсона між годинами та балом дорівнює 0,86.

Зауважте, що якщо у вашому кадрі даних є значення NA, ви можете використовувати аргумент use=’complete.obs’ , щоб використовувати лише ті рядки, де немає значень NA:

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

Приклад 2: Обчисліть коефіцієнт кореляції Пірсона між усіма числовими змінними

У наступному коді показано, як використовувати функцію cor() для створення кореляційної матриці, що містить коефіцієнт кореляції Пірсона між усіма числовими змінними у кадрі даних:

 #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

Ось як інтерпретувати результат:

  • Коефіцієнт кореляції Пірсона між годинами та prac_exams становить -0,13 .
  • Коефіцієнт кореляції Пірсона між годинами та балом становить 0,86 .
  • Коефіцієнт кореляції Пірсона між prac_exams та оцінкою становить -0,39 .

Примітка . Коефіцієнт кореляції Пірсона між кожною окремою змінною та самою собою завжди дорівнює 1, тому кожне значення вздовж діагоналі кореляційної матриці дорівнює 1.

Приклад 3: обчисліть коефіцієнт кореляції Спірмена між двома змінними

У наступному коді показано, як використовувати функцію cor() для обчислення коефіцієнта кореляції Спірмена між змінними hours і prac_exams :

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

[1] -0.1250391

Коефіцієнт кореляції Спірмена між годинами та prac_exams виявляється -0,125.

Приклад 4: Обчисліть коефіцієнт кореляції Кендалла між двома змінними

У наступному коді показано, як використовувати функцію cor() для обчислення коефіцієнта кореляції Кендалла між змінними hours і prac_exams :

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

[1] -0.1226791

Коефіцієнт кореляції Kendall між годинами та prac_exams виявляється -0,123.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

Як розрахувати ковзну кореляцію в R
Як розрахувати автокореляцію в R
Як обчислити часткову кореляцію в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *