2015-11-29

Matriz de correlación y valores p con Hmisc en R

Title Para examinar la asociación entre variables en nuestros datos vamos a ver cómo calcular una matriz de correlación.

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

Referencias

No hay comentarios:

Publicar un comentario

Nube de datos