Datos
Como ejemplo, usamos el conjunto de datos swiss sobre la fertilidad y datos socioeconómicos de 47 provincias Suiza.
?swiss
head(swiss)
Fertility Agriculture Examination Education Catholic
Courtelary 80.2 17.0 15 12 9.96
Delemont 83.1 45.1 6 9 84.84
Franches-Mnt 92.5 39.7 5 5 93.40
Moutier 85.8 36.5 12 7 33.77
Neuveville 76.9 43.5 17 15 5.16
Porrentruy 76.1 35.3 9 7 90.57
Infant.Mortality
Courtelary 22.2
Delemont 22.2
Franches-Mnt 20.2
Moutier 20.3
Neuveville 20.6
Porrentruy 26.6
Matriz de correlación
Representamos la matriz de correlación entre las 6 variables.
cor(swiss)
Fertility Agriculture Examination Education Catholic
Fertility 1.0000000 0.35307918 -0.6458827 -0.66378886 0.4636847
Agriculture 0.3530792 1.00000000 -0.6865422 -0.63952252 0.4010951
Examination -0.6458827 -0.68654221 1.0000000 0.69841530 -0.5727418
Education -0.6637889 -0.63952252 0.6984153 1.00000000 -0.1538589
Catholic 0.4636847 0.40109505 -0.5727418 -0.15385892 1.0000000
Infant.Mortality 0.4165560 -0.06085861 -0.1140216 -0.09932185 0.1754959
Infant.Mortality
Fertility 0.41655603
Agriculture -0.06085861
Examination -0.11402160
Education -0.09932185
Catholic 0.17549591
Infant.Mortality 1.00000000
Redondeamos los resultados a dos decimales, para despejar la presentación. Se ve con claridad como la diagonal principal son unos que dividen a la matriz en dos partes simétricas.
round(cor(swiss), 2)
Fertility Agriculture Examination Education Catholic Infant.Mortality
Fertility 1.00 0.35 -0.65 -0.66 0.46 0.42
Agriculture 0.35 1.00 -0.69 -0.64 0.40 -0.06
Examination -0.65 -0.69 1.00 0.70 -0.57 -0.11
Education -0.66 -0.64 0.70 1.00 -0.15 -0.10
Catholic 0.46 0.40 -0.57 -0.15 1.00 0.18
Infant.Mortality 0.42 -0.06 -0.11 -0.10 0.18 1.00
Se puede observar como la fertilidad está negativamente asociada con Education y Examination. En cambio, está positivamente asociada con Agriculture, Catholic y Infant Mortality.
Contraste de hipótesis para un par de variables
cor.test(swiss$Fertility, swiss$Education)
Pearson's product-moment correlation
data: swiss$Fertility and swiss$Education
t = -5.9536, df = 45, p-value = 3.659e-07
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.7987075 -0.4653206
sample estimates:
cor
-0.6637889
La salida de datos incluye la t de Student del contraste de hipótesis, los grados de libertad (df), el valor p (probabilidad), los intervalos de confianza al 95% y el coeficiente de correlación.
Valores p entre todas las variables
Necesitamos emplear el paquete Hmisc. Es necesario convertir previamente el data frame en una matriz.
library(Hmisc)
rcorr(as.matrix(swiss))
Fertility Agriculture Examination Education Catholic Infant.Mortality
Fertility 1.00 0.35 -0.65 -0.66 0.46 0.42
Agriculture 0.35 1.00 -0.69 -0.64 0.40 -0.06
Examination -0.65 -0.69 1.00 0.70 -0.57 -0.11
Education -0.66 -0.64 0.70 1.00 -0.15 -0.10
Catholic 0.46 0.40 -0.57 -0.15 1.00 0.18
Infant.Mortality 0.42 -0.06 -0.11 -0.10 0.18 1.00
n= 47
P
Fertility Agriculture Examination Education Catholic Infant.Mortality
Fertility 0.0149 0.0000 0.0000 0.0010 0.0036
Agriculture 0.0149 0.0000 0.0000 0.0052 0.6845
Examination 0.0000 0.0000 0.0000 0.0000 0.4454
Education 0.0000 0.0000 0.0000 0.3018 0.5065
Catholic 0.0010 0.0052 0.0000 0.3018 0.2380
Infant.Mortality 0.0036 0.6845 0.4454 0.5065 0.2380
La salida de datos incluye la matriz de correlaciones (automáticamente redondea a dos decimales) y la matriz de valores p. Se puede observar que casi todos los valores p son estadísticamente significativos salvo algunos relacionados con Infant.Mortality, pero el coeficiente de correlación era casi cero en cualquier caso.
Entradas relacionadas
- Regresión lineal simple para principiantes en R
- Regresión lineal simple
- Regresión lineal simple en R con ggplot2
- Regresión lineal simple para principiantes en Excel
Referencias