Correlación entre variables en R

Generar datos a utilizar

set.seed(20)
x = c(runif(13)*3+10,runif(12)*4+8,runif(15)*2+15,runif(10)*3+2)
y = c(runif(13)*3+5,runif(12)*3+15,runif(15)*10+15,runif(10)*4+6)
color = c(rep("red",13), rep("green",12),rep("blue",15),rep("orange",10))
size = round(runif(length(x))*100,0)
plot(x,y, col=color)
df <- data.frame(x,y,color,size)

           x         y  color size
1  12.632564  5.211506    red   86
2  12.305600  6.453315    red   95
3  10.836889  5.826603    red   49
4  11.587491  7.858635    red  100
5  12.888721  5.377258    red   58
6  12.941064  6.531751    red   67
7  10.273998  5.020006    red   91
8  10.212248  6.381184    red   74
9  10.982782  5.809310    red   77
10 11.110224  5.066758    red   93

 

Visualización de correlación 1

num_df <- df
num_df[] <- lapply(df,as.integer) 
cor(num_df)
                  x          y      color       size   category
x         1.0000000  0.5296393 -0.4995907 -0.1307058  0.6075328
y         0.5296393  1.0000000 -0.9437486 -0.3183610  0.9682556
color    -0.4995907 -0.9437486  1.0000000  0.3749476 -0.9123279
size     -0.1307058 -0.3183610  0.3749476  1.0000000 -0.3207604
category  0.6075328  0.9682556 -0.9123279 -0.3207604  1.0000000

 

Visualización de correlación 2

#install.packages("psych")
library(psych)
pairs.panels(df)

Visualización de correlación entre variables

Visualización de correlación 3

El método Correlation de la librería “PerformanceAnalytics” mejora a la librería “psych” aunque es necesaria una transformación de las variables categórica a numéricas

#install.packages("PerformanceAnalytics")
library(PerformanceAnalytics)
chart.Correlation(num_df)

Visualización de correlación entre variables

Otros artículos que pueden ser de interés:

Autor: Diego Calvo