Как рассчитать корреляцию между несколькими переменными в 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 ')])

          ABC
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)

           abcd
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 ))])

           abcd
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
peers. panels (df)

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *