Как рассчитать ранговую корреляцию Спирмена в R


В статистике корреляция относится к силе и направлению связи между двумя переменными. Значение коэффициента корреляции может варьироваться от -1 до 1 со следующими интерпретациями:

  • -1: идеальная отрицательная связь между двумя переменными
  • 0: нет связи между двумя переменными
  • 1: идеальная положительная связь между двумя переменными

Один особый тип корреляции называется ранговой корреляцией Спирмена и используется для измерения корреляции между двумя ранжированными переменными. (например, оценка балла учащегося на экзамене по математике и оценка его оценки на экзамене по естественным наукам в классе).

Чтобы вычислить ранговую корреляцию Спирмена между двумя переменными в R, мы можем использовать следующий базовый синтаксис:

corr <- cor. test (x, y, method = 'spearman')

В следующих примерах показано, как использовать эту функцию на практике.

Пример 1. Ранговая корреляция Спирмена между векторами

Следующий код показывает, как вычислить ранговую корреляцию Спирмена между двумя векторами в R:

#define data
x <- c(70, 78, 90, 87, 84, 86, 91, 74, 83, 85)
y <- c(90, 94, 79, 86, 84, 83, 88, 92, 76, 75)

#calculate Spearman rank correlation between x and y
cor. test (x, y, method = 'spearman')

 Spearman's rank correlation rho

data: x and y
S = 234, p-value = 0.2324
alternative hypothesis: true rho is not equal to 0
sample estimates:
 rho 
-0.4181818 

Из вывода мы видим, что ранговая корреляция Спирмена составляет -0,41818 , а соответствующее значение p равно 0,2324 .

Это указывает на то, что существует отрицательная корреляция между двумя векторами.

Однако, поскольку р-значение корреляции не менее 0,05, корреляция не является статистически значимой.

Пример 2. Ранговая корреляция Спирмена между столбцами во фрейме данных

В следующем коде показано, как вычислить ранговую корреляцию Спирмена между двумя столбцами во фрейме данных:

#define data frame
df <- data.frame(team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'),
 points=c(67, 70, 75, 78, 73, 89, 84, 99, 90, 91),
 assists=c(22, 27, 30, 23, 25, 31, 38, 35, 34, 32))

#calculate Spearman rank correlation between x and y
cor. test (df$points, df$assists, method = 'spearman')

 Spearman's rank correlation rho

data: df$points and df$assists
S = 36, p-value = 0.01165
alternative hypothesis: true rho is not equal to 0
sample estimates:
 rho 
0.7818182

Из вывода мы видим, что ранговая корреляция Спирмена составляет 0,7818 , а соответствующее значение p равно 0,01165 .

Это указывает на то, что существует сильная положительная корреляция между двумя векторами.

Поскольку p-значение корреляции меньше 0,05, корреляция является статистически значимой.

Дополнительные ресурсы

Как рассчитать частичную корреляцию в R
Как рассчитать автокорреляцию в R
Как рассчитать скользящую корреляцию в R
Как сообщить о корреляции Спирмена в формате APA

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.