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

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

Одним из способов количественной оценки связи между двумя переменными является использование коэффициента корреляции Пирсона , который является мерой линейной связи между двумя переменными . Он всегда принимает значение от -1 до 1, где:

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

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

#create data frame
df <- data.frame(a <- c(2, 3, 3, 5, 6, 9, 14, 15, 19, 21, 22, 23),
 b <- c(23, 24, 24, 23, 17, 28, 38, 34, 35, 39, 41, 43),
 c <- c(13, 14, 14, 14, 15, 17, 18, 19, 22, 20, 24, 26),
 d <- c(6, 6, 7, 8, 8, 8, 7, 6, 5, 3, 3, 2))

Пример 1: Корреляция между двумя переменными

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

cor(df$a, df$b)

[1] 0.9279869

Пример 2: Корреляция между несколькими переменными

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

cor(df[, c('a', 'b', 'c')])

 a b c
a 1.0000000 0.9279869 0.9604329
b 0.9279869 1.0000000 0.8942139
c 0.9604329 0.8942139 1.0000000

Способ интерпретации вывода следующий:

  • Корреляция между a и b составляет 0,9279869.
  • Корреляция между a и c составляет 0,9604329.
  • Корреляция между b и c составляет 0,8942139.

Пример 3: Корреляция между всеми переменными

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

cor(df)

 a b c d
a 1.0000000 0.9279869 0.9604329 -0.7915488
b 0.9279869 1.0000000 0.8942139 -0.7917973
c 0.9604329 0.8942139 1.0000000 -0.8063549
d -0.7915488 -0.7917973 -0.8063549 1.0000000

Пример 4: Корреляция только между числовыми переменными

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

cor(df[, unlist ( lapply(df, is. numeric ))])

 a b c d
a 1.0000000 0.9279869 0.9604329 -0.7915488
b 0.9279869 1.0000000 0.8942139 -0.7917973
c 0.9604329 0.8942139 1.0000000 -0.8063549
d -0.7915488 -0.7917973 -0.8063549 1.0000000

Пример 5: Визуализация корреляций

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

#load psych package
library(psych)

#create pairs plot
pairs. panels(df)

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

Как рассчитать частичную корреляцию в R
Как рассчитать точечно-бисериальную корреляцию в R
Как рассчитать скользящую корреляцию в R

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