Una correlación mide la relación lineal entre dos variables. Por ejemplo la relación entre el la experiencia laboral y el salario.
Esta se mide con un coeficiente que va de -1 a 1. * r = 1, la relación es positiva perfecta * 0 < r < 1 la relación es positiva
* r = 0 no hay relación lineal
* -1 < r < 0 la relación es negativa
* r = -1 la relación es negativa perfecta
#(recordar instalar paquetes si no se tienen)
install.packages("readxl")
install.packages("dplyr")
install.packages("ggplot2")
install.packages("GGally")
install.packages("Hmisc")
install.packages("corrplot")
install.packages("PerformanceAnalytics")
#Cargar paquetes
library(readxl)
library(dplyr)
library(ggplot2)
library(GGally)
library(Hmisc)
library(corrplot)
library(PerformanceAnalytics)
#importar base de datos (recordar cambiar directorio)
base <- read_excel("~/Proyectos/Elecciones 2018/baseejemplo.xlsx")
La base de datos que importamos contiene varios indicadores de escolaridad y de porcentaje de votación por partidos. Como recomendación, importen una base de datos que únicamente tenga los indicadores numéricos.
Este comando calcula la matriz de correlación:
round(cor(base),2)
## porcentajeprn porcentajepac rezago nini educ_superior ips
## porcentajeprn 1.00 -0.80 0.68 0.74 -0.57 -0.75
## porcentajepac -0.80 1.00 -0.71 -0.87 0.69 0.80
## rezago 0.68 -0.71 1.00 0.81 -0.77 -0.82
## nini 0.74 -0.87 0.81 1.00 -0.80 -0.84
## educ_superior -0.57 0.69 -0.77 -0.80 1.00 0.64
## ips -0.75 0.80 -0.82 -0.84 0.64 1.00
#NOTA: usamos round con dos decimales, para redondear el resultado, si no se quiere redondear
#solamente podemos usar el comando cor(base)
Podemos interpretar que por ejemplo, la correlación entre el porcentaje de votos que obtuvo el prn y el indicador de rezago escolar es de 0,67. Es decir, es una relación positiva que indica que a mayor porcentaje de votación del PRN mayor es el indicador de rezago escolar.
Una vez que calculamos el coeficiente de correlación, es necesario identificar si es estadísticamente significativo, por lo que calculamos el p-value.
Si el p-value es menor al nivel de significancia que nosotros escogemos, por ejemplo 5%, entonces el coeficiente es estadísticamente significativo.
rcorr(as.matrix(base))
## porcentajeprn porcentajepac rezago nini educ_superior ips
## porcentajeprn 1.00 -0.80 0.68 0.74 -0.57 -0.75
## porcentajepac -0.80 1.00 -0.71 -0.87 0.69 0.80
## rezago 0.68 -0.71 1.00 0.81 -0.77 -0.82
## nini 0.74 -0.87 0.81 1.00 -0.80 -0.84
## educ_superior -0.57 0.69 -0.77 -0.80 1.00 0.64
## ips -0.75 0.80 -0.82 -0.84 0.64 1.00
##
## n= 79
##
##
## P
## porcentajeprn porcentajepac rezago nini educ_superior ips
## porcentajeprn 0 0 0 0 0
## porcentajepac 0 0 0 0 0
## rezago 0 0 0 0 0
## nini 0 0 0 0 0
## educ_superior 0 0 0 0 0
## ips 0 0 0 0 0
Este comando nos da la misma matriz de correlación que obtuvimos arriba, y abajo nos da el p-value. En todos el casos el p-value es muy bajo (=0), lo cual quiere decir que sí es estadísticamente significativo.
Podemos graficar con el comando corrplot. Ver más en este enlace:
Lo primero es calcular la matriz de correlación y guardarla en un objeto y luego graficarlo. En este caso vamos a graficar los coeficientes.
correlacion<-round(cor(base), 1)
corrplot(correlacion, method="number", type="upper")
También podemos hacer gráficos de dispersión, calcular los coeficientes de una sola vez y ver si son estadísticamente significativos, con un solo comando:
chart.Correlation(base, histogram = F, pch = 19)
En ese gráfico podemos observar gráficamente que hay una relación entre el porcentaje de votos del prn y el rezago escolar (tercera fila, primera columna) y que el coeficiente es de 0,68 y es estadístcamente significativo (esto se representa con los tres puntos rojos).