Práctica 6(7) - Continuación de bivariado

AE
01/04/19

Base de datos IMCO

Llamamos la librería

library(readxl)
## Warning: package 'readxl' was built under R version 3.5.2

¡Recuerda poner el directorio!

setwd("/Users/anaescoto/Dropbox/FCPyS-2019-ii/ACuanti/Prácticas")

Vamos a trabajar con un ambiente. De la clase anterior que hicimos nuestra variable de región, hemos guardado un ambiente. Vamos a abrirlo con el comando "load".

Esto es útil cuando ya hemos importado bases y no queremos volver a hacerlo, o bien, hemos modificado nuestra base. Si nuestro ambiente está en nuestro directorio, sólo ponemos el nombre de éste. Si no, habría que poner toda la ruta.

load("EnvironmentP5.RData")

Nota que es un archivo con extensión .RData.

Correlación

Repaso de EACSI

Mide la fuerza de la relación, lineal si es de Pearson. Lo que observamos en la clase pasada está en relación a ello.

Fuente: https://www.mathsisfun.com/data/correlation.html

Debemos recordar que la correlación puede tener un valor:

  • 1 es una correlación positiva perfecta
  • 0 es sin correlación (los valores no parecen vinculados en absoluto)
  • -1 es una correlación negativa perfecta)
  • Para poder comprender esto, jugaremos un rato: http://guessthecorrelation.com/ [Este otro no es tan divertido, pero sí tiene valores negativos: http://www.rossmanchance.com/applets/GuessCorrelation.html]

    image image ##Elementos importantes

    Aplicación con R

    En la clase pasada hicimos un ejercicio para observar la relación que pudiera existir entre la tasa de homicidios y la pobreza

    cor(Excel_2016_IMCO$Homicidios, Excel_2016_IMCO$Pobreza)
    ## [1] 0.04001064

    La correlación es muy baja

    Veamos qué pasa si quitamos los valores atípicos

    nueva_base<-Excel_2016_IMCO[Excel_2016_IMCO$Homicidios<60,]
    
    cor(nueva_base$Homicidios, nueva_base$Pobreza)
    ## [1] -0.08075984

    ¡La correlación es negativa! Los valores atípicos pueden afectar mucho a nuestra correlacion lineal.

    Introducción a los índices y probando otros tipos de correlación

    Para tener otro tipo de variables, por ejemplo ordinales, volveremos a nuestra base de LAPOP

    library(haven)
    mex2017 <- read_dta("275973272Mexico LAPOP AmericasBarometer 2017 V1.0_W.dta")
    #View(X275973272Mexico_LAPOP_AmericasBarometer_2017_V1_0_W)

    Vamos a hacer un pequeño índice sobre la confianza en las instituciones

    image image

    Es importante al hacer un índice que todas las variables apunten a la misma dirección. De preferencia queremos que tenga la misma escala

    ¡Supuesto! Cada ítem pesa lo mismo. Lo cual podría ser rechazado por la teoría. Este es un ejercicio pedagógico y la operacionalización debería estar sujeta por el marco teórico.

    Para trabajar de manera más sencilla, hacemos un VECTOR que liste los items

    items <- c("b1", "b2", "b3", "b4", "b6", "b43", "b12", "b13", "b18" ,             "b21", "b21a", "b32", "b37","b47a")

    Haremos el índice más simple, un índice sumativo. Si son 14 ítems en escala de 1 al 7, ¿cuál sería el valor mínimo y cuál el máximo?

    Lo primero que hacemos es sumar

    mex2017$index_conf0<-rowSums(mex2017[,items], na.rm = T) # suma a través de las filas
    mex2017$index_conf<-mex2017$index_conf0/14 

    ggplot + jitter

    Vamos a hacer un poco de análisis bivariado de manera gráfica

    library(ggplot2)
    qplot(y=index_conf, x=ed, data=mex2017)
    ## Don't know how to automatically pick scale for object of type haven_labelled. Defaulting to continuous.
    
    ## Warning: Removed 10 rows containing missing values (geom_point).

    gg <- ggplot(data=mex2017, aes(index_conf, as.numeric(ed)))
    gg +  geom_point()
    ## Warning: Removed 10 rows containing missing values (geom_point).

    gg +  geom_jitter()
    ## Warning: Removed 10 rows containing missing values (geom_point).

    Vamos a hacer la correlación e introduciremos el concepto de "pairwise"

    cor(mex2017$ed, mex2017$index_conf)
    ## [1] NA
    cor(mex2017$ed, mex2017$index_conf, use="pairwise")
    ## [1] -0.1021352

    Más de un tipo de correlación

    Por default está la correlación de Pearson, pero en realidad podemos obtener otros tipos

    #Pearson - default
    cor(mex2017$ed, mex2017$index_conf, 
        use = "pairwise", method = "pearson")
    ## [1] -0.1021352
    #Tau-Kendall
    cor(mex2017$ed, mex2017$index_conf, 
        use = "pairwise", method = "kendall")
    ## [1] -0.08042628
    #Rho-Spearman
    cor(mex2017$ed, mex2017$index_conf, 
        use = "pairwise", method = "spearman")
    ## [1] -0.11168

    Línea de MCO

    La regresión lineal nos ayuda a describir esta relación a través de una línea recta. Ojo que sólo será compatible con la correlación de Pearson

    image

    cor(mex2017$ed, mex2017$index_conf, 
        use = "pairwise")
    ## [1] -0.1021352
    lmco <-lm(ed ~index_conf, data=mex2017, 
                na.action=na.exclude)
    
    coef(lmco) # show results
    ## (Intercept)  index_conf 
    ##  10.6794976  -0.3556002

    Prueba chi-cuadrado

    Cuando tenemos dos variables cualitativas o nominales podemos hacer esta la prueba chi-cuadrado, o prueba de independencia. Esta tiene una lógica un poco diferente a las correlaciones, porque ya es una prueba inferencial. Para calentarnos en este tipo de pruebas, empezaremos con ésta.

    La lógica es que compararmos la distribución de los datos dado que pensamos no hay independencia entre las variables y los datos que tenemos. La hipótesis contraria a la que queremos probar (nula) postula una distribución de probabilidad totalmente especificada como el modelo matemático de la población que ha generado la muestra. Es decir que los marginales deberían ser iguales a las categorías.

    Por ejemplo, queremos comparar la frecuencia observada para dos variables nominales. "Q1" (1) Hombre y (2) Mujer "VIC71". ¿Ha evitado salir solo(a) de su casa durante la noche?(1) Sí(0) No

    Para ello compararemos la frecuencia observada (la real) respecto a la frecuencia esperada.

    Calcularemos un estadístico que se llama Si nuestro test Chi cuadrado

    image

    Este valor va comparando lo real contra lo teórico para cada una de las celdas de nuestra tabla de contigencia.

    library(sjlabelled)
    ## Warning: package 'sjlabelled' was built under R version 3.5.2
    
    ## 
    ## Attaching package: 'sjlabelled'
    
    ## The following objects are masked from 'package:haven':
    ## 
    ##     as_factor, read_sas, read_spss, read_stata, write_sas,
    ##     zap_labels
    tabla<-table(as_label(mex2017$q1), as_label(mex2017$vic71))
    addmargins(prop.table(tabla,1))
    ##         
    ##                 No       Yes       Sum
    ##   Male   0.5592357 0.4407643 1.0000000
    ##   Female 0.4049159 0.5950841 1.0000000
    ##   Sum    0.9641516 1.0358484 2.0000000

    Vemos cómo las mujeres han evitado más salir. Para saber si esta diferencia es importante hacemos la prueba.

    El estadístico chi-cuadrado está asociado a una probabilidad a través de la distribución de probabilidad. Si asumimos que la distribución teórica es verdadera (es decir donde las dos variables son independientes), el chi-cuadrado debería estar asociado a una probabilidad muy baja. En general, sipresenta un p valor inferior a 0.05, esto nos indicará la variación de frecuencias entre las variables sustantiva.

    chisq.test(tabla)
    ## 
    ##  Pearson's Chi-squared test with Yates' continuity correction
    ## 
    ## data:  tabla
    ## X-squared = 36.53, df = 1, p-value = 1.503e-09

    Podemos rechazar la hipótesis de independencia y por tanto, podemos decir que hay una relación de dependencia entre el sexo del entrevistado y las acciones para evitar la violencia.

    image

    Guardamos nuestro ambiente para siguientes prácticas

    save.image("EnvironmentP6.RData")