AE
01/04/19
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.
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.
Debemos recordar que la correlación puede tener un valor:
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]
##Elementos importantes
El coeficiente de correlación, r, no hace ninguna distinción entre las variables explicativas y dependientes. No hace ninguna diferencia cuál variable por X y cuál se llama Y en el cálculo de la correlación.
r utiliza los valores estandarizados de las observaciones, r no cambia cuando cambiamos las unidades de medida de x, y, o ambos. La medición de la altura en pulgadas en lugar de centímetros y el peso en libras en lugar de kilogramos no cambia la correlación entre la altura y el peso. La correlación, r, en sí no tiene unidad de medida; sólo es un númer
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.
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
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 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
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
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
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
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
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.
Guardamos nuestro ambiente para siguientes prácticas
save.image("EnvironmentP6.RData")