Как создать матрицу корреляции в r (4 примера)


Матрица корреляции представляет собой квадратную таблицу, в которой показаны коэффициенты корреляции между переменными в наборе данных.

Он обеспечивает быстрый способ понять силу линейных связей, существующих между переменными в наборе данных.

Существует четыре распространенных способа создания корреляционной матрицы в R:

Способ 1: функция cor (для получения простой матрицы коэффициентов корреляции)

 cor(df)

Способ 2: функция rcorr (для получения p-значений коэффициентов корреляции)

 library (Hmisc)

rcorr( as.matrix (df))

Метод 3: функция corrplot (для визуализации корреляционной матрицы)

 library (corplot)

corrplot(cor(df))

Способ 4: функция ggcorrplot (для визуализации корреляционной матрицы)

 library (ggcorrplot)

ggcorrplot(cor(df))

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

 #create data frame
df <- data. frame (assists=c(4, 5, 5, 6, 7, 8, 8, 10),
                 rebounds=c(12, 14, 13, 7, 8, 8, 9, 13),
                 points=c(22, 24, 26, 26, 29, 32, 20, 14))

#view data frame
df

  assists rebound points
1 4 12 22
2 5 14 24
3 5 13 26
4 6 7 26
5 7 8 29
6 8 8 32
7 8 9 20
8 10 13 14

Пример 1: Функция cor

Мы можем использовать базовую функцию cor() R для создания матрицы корреляции, которая показывает коэффициенты корреляции между каждой переменной в нашем фрейме данных:

 #create correlation matrix
cor(df)

            assists rebound points
assists 1.0000000 -0.2448608 -0.3295730
rebounds -0.2448608 1.0000000 -0.5220917
points -0.3295730 -0.5220917 1.0000000

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

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

  • Коэффициент корреляции между передачами и подборами составляет -0,245 .
  • Коэффициент корреляции между результативными передачами и очками составляет -0,330 .
  • Коэффициент корреляции между подборами и очками составляет -0,522 .

Пример 2: функция rcorr

Мы можем использовать функцию rcorr() из пакета Hmisc в R, чтобы создать матрицу корреляции, которая показывает коэффициенты корреляции между каждой переменной в нашем фрейме данных:

 library (Hmisc)

#create matrix of correlation coefficients and p-values
rcorr( as.matrix (df))

         assists rebound points
assists 1.00 -0.24 -0.33
rebounds -0.24 1.00 -0.52
points -0.33 -0.52 1.00

n=8 

P
         assists rebound points
assists 0.5589 0.4253
rebounds 0.5589 0.1844
points 0.4253 0.1844

Первая матрица показывает коэффициенты корреляции между переменными, а вторая матрица показывает соответствующие значения p.

Например, коэффициент корреляции между передачами и подборами составляет -0,24 , а значение p этого коэффициента корреляции составляет 0,5589 .

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

Пример 3: Функция corrplot

Мы можем использовать функцию corrplot() из пакета corrplot в R для визуализации корреляционной матрицы:

 library (corplot)

#visualize correlation matrix
corrplot(cor(df))

Цвет и размер кружков в матрице корреляции помогают нам визуализировать корреляции между каждой переменной.

Например, круг, в котором пересекаются переменные передач и подборов, маленький и светло-красный, что говорит нам о том, что корреляция слабая и отрицательная.

Пример 4: Функция corrplot

Мы можем использовать функцию ggcorrplot() из пакета ggcorrplot в R для визуализации корреляционной матрицы:

 library (ggcorrplot)

#visualize correlation matrix
ggcorrplot(cor(df))

Цвет квадратов в матрице корреляции помогает нам визуализировать корреляции между каждой переменной.

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

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

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

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

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