Como criar uma matriz de correlação em r (4 exemplos)


Uma matriz de correlação é uma tabela quadrada que mostra os coeficientes de correlação entre variáveis em um conjunto de dados.

Ele fornece uma maneira rápida de compreender a força dos relacionamentos lineares que existem entre variáveis em um conjunto de dados.

Existem quatro maneiras comuns de criar uma matriz de correlação em R:

Método 1: a função cor (para obter uma matriz simples de coeficientes de correlação)

 cor(df)

Método 2: a função rcorr (para obter os valores p dos coeficientes de correlação)

 library (Hmisc)

rcorr( as.matrix (df))

Método 3: a função corrplot (para visualizar a matriz de correlação)

 library (corplot)

corrplot(cor(df))

Método 4: a função ggcorrplot (para visualizar a matriz de correlação)

 library (ggcorrplot)

ggcorrplot(cor(df))

Os exemplos a seguir mostram como usar cada método com o seguinte quadro de dados em 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

Exemplo 1: A função cor

Podemos usar a função R base cor() para criar uma matriz de correlação que mostra os coeficientes de correlação entre cada variável em nosso quadro de dados:

 #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

Os coeficientes de correlação ao longo da diagonal da tabela são todos iguais a 1 porque cada variável está perfeitamente correlacionada consigo mesma.

Todos os outros coeficientes de correlação indicam a correlação entre diferentes combinações de variáveis aos pares. Por exemplo:

  • O coeficiente de correlação entre assistências e rebotes é de -0,245 .
  • O coeficiente de correlação entre assistências e pontos é -0,330 .
  • O coeficiente de correlação entre rebotes e pontos é -0,522 .

Exemplo 2: a função rcorr

Podemos usar a função rcorr() do pacote Hmisc em R para criar uma matriz de correlação que mostra os coeficientes de correlação entre cada variável em nosso quadro de dados:

 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

A primeira matriz mostra os coeficientes de correlação entre as variáveis e a segunda matriz mostra os valores p correspondentes.

Por exemplo, o coeficiente de correlação entre assistências e rebotes é -0,24 e o valor p desse coeficiente de correlação é 0,5589 .

Isto diz-nos que a correlação entre as duas variáveis é negativa, mas não é uma correlação estatisticamente significativa, uma vez que o valor p não é inferior a 0,05.

Exemplo 3: A função corrplot

Podemos usar a função corrplot() do pacote corrplot em R para visualizar a matriz de correlação:

 library (corplot)

#visualize correlation matrix
corrplot(cor(df))

A cor e o tamanho dos círculos na matriz de correlação nos ajudam a visualizar as correlações entre cada variável.

Por exemplo, o círculo onde as variáveis assistências e rebotes se cruzam é pequeno e vermelho claro, o que nos diz que a correlação é fraca e negativa.

Exemplo 4: A função corrplot

Podemos usar a função ggcorrplot() do pacote ggcorrplot em R para visualizar a matriz de correlação:

 library (ggcorrplot)

#visualize correlation matrix
ggcorrplot(cor(df))

A cor dos quadrados na matriz de correlação nos ajuda a visualizar as correlações entre cada variável.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como calcular a correlação de classificação de Spearman em R
Como calcular a correlação parcial em R
Como calcular a correlação deslizante em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *