Abrimos todos los paquetes que usaremos para realizar el análisis bivariado.
library(foreign) #Paquete para importar datos
library(dplyr) #Paquete de procesamiento de bases de datos
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(car) #Paquete de análisis de datos
## Loading required package: carData
##
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
##
## recode
library(xtable) #Paquete tablas en LaTeX
Importamos nuestra base de datos Encuesta 2022.
library(foreign) #si ya usaste antes ya no es necesario volverlo a usar
Encuesta <- read.spss("Encuesta 2022.sav",use.value.labels=TRUE, max.value.labels=Inf, to.data.frame=TRUE)
Observamos nuestras variables de interés. Para esta sesión trabajaremos con las variables: edad, sexo, educ
names(Encuesta)
## [1] "id" "sexo" "edad" "reg" "educ" "añ_es" "nu_hi" "mi_ho"
## [9] "es_ci" "oc_ac" "añ_tr" "fu_in" "ing18" "ing19" "ing20" "ing21"
## [17] "ing22" "di_vi" "di_af" "si_fi" "pa_de" "ay_fi" "cr_vi" "cr_ac"
## [25] "se_ap" "relig" "de_re" "nco" "pol" "camp" "v_11" "v_16"
## [33] "v_21" "ep_21" "sa_go" "op_ec" "sa_pa" "co_co" "dd_hh" "ed_sa"
## [41] "re_in" "pr_am" "ju_de" "ig_op" "di_cu" "pa_ca" "rd_sc" "pa_cu"
## [49] "de_vi" "ig_ge" "po_in" "aborto" "ap_19" "ap_22" "am_19" "am_22"
## [57] "cm_19" "cm_22" "qw_19" "qw_22" "ju_19" "ju_22" "p65_19" "p65_22"
## [65] "fc_19" "af_22" "p_18" "p_19" "p_20" "p_21" "p_22"
El attach nos permite invocar a las variables de manera autónoma.
attach(Encuesta)
**1. Correlación lineal paramétrica y no paramétrica
Relacionaremos edad con dinero que se destina mensualmente a vivienda. Pimero graficamos una dispersión de puntos para observar si existe algún tipo de relación. Agregamos una línea para identificar la relación lineal
plot(edad, di_vi)
abline(lm(di_vi ~ edad), col = "red") #agregar tendencia lineal
Es necesario comprobar si nuestras variables numéricas tienen una distribución normal. En este caso utilizaremos la prueba shapiro.test.
shapiro.test(edad)
##
## Shapiro-Wilk normality test
##
## data: edad
## W = 0.97345, p-value < 2.2e-16
shapiro.test(di_vi)
##
## Shapiro-Wilk normality test
##
## data: di_vi
## W = 0.98052, p-value = 5.563e-15
Podemos también generar gráficos qqplot para seguir analizando el comportamiento de las variables, aunque ya sabemos que ambas son normales.
qqPlot(edad)
## [1] 1809 1808
qqPlot(di_vi)
## [1] 1311 124
La prueba de correlación de Pearson permite determinar si existe asociación lineal entre dos variables continuas. Sus supuestos de aplicación son:
H0: r=0. No existe asociación lineal entre las variables. H1: r≠0. Hay asociación lineal entre las variables.
Se decide trabajar con un nivel de confianza del 95% y un nivel de significación de α=0.05
cor.test(edad, di_vi, method = "pearson") # Podemos aplicar Pearson?
##
## Pearson's product-moment correlation
##
## data: edad and di_vi
## t = 19.943, df = 1807, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.3861950 0.4617712
## sample estimates:
## cor
## 0.4247228
Obtenemos que sí hay correlación, pero recordemos que esta prueba requiere normalidad. Por lo tanto tenemos que trabajar con una prueba no paramétrica.
La prueba de correlación de Spearman permite determinar si existe asociación lineal entre dos variables continuas, cuando no se cumple el supuesto de normalidad y/o estamos trabajando con variables ordinales.
Sus supuestos de aplicación son:
-La muestra es un subconjunto aleatorio de la población. -No existe una asociación no lineal entre las variables. -La prueba de correlación de Spearman permite evaluar la siguientes hipótesis nula y alternativa:
H0: ρ=0. No existe asociación lineal entre las variables. H1: ρ≠0. Hay asociación lineal entre las variables.
cor.test(edad, di_vi, method = "spearman")
## Warning in cor.test.default(edad, di_vi, method = "spearman"): Cannot compute
## exact p-value with ties
##
## Spearman's rank correlation rho
##
## data: edad and di_vi
## S = 579253381, p-value < 2.2e-16
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## 0.4129106
Hemos obtenido que sí existe correlación lineal entre la edad y el dinero destinado a vivienda.
**2. Prueba de independencia Chi cuadrado (χ2)
La prueba de independencia Chi cuadrado permite determinar si existe asociación entre dos variables discretas. Sus supuestos de aplicación son:
La prueba de independencia Chi cuadrado permite evaluar las siguientes hipótesis nulas y alternativa:
H0: χ2=0. No existe asociación entre las variables. H1: χ2>0. Hay asociación entre las variables.
Vamos a verificar si existe asociación o independencia entre las variables nivel educativo y la satisfacción con el actual gobierno.
tabla <- table(educ, sa_go) # Elaborar tabla cruzada
chisq.test(tabla)$expected # Ver valores esperados en la tabla cruzada
## sa_go
## educ Muy satisfecho Satisfecho Insatisfecho Muy insatisfecho
## Primaria 38.66815 41.99444 64.44691 41.89049
## Secundaria 106.69928 115.87771 177.83213 115.59088
## Superior 204.50695 222.09894 340.84491 221.54919
## Posgrado 22.12563 24.02890 36.87604 23.96943
chi <-chisq.test(tabla) #Guardamos los resultados del test en un objeto
chi
##
## Pearson's Chi-squared test
##
## data: tabla
## X-squared = 12.229, df = 9, p-value = 0.2007
Con un 95% de confianza, existe evidencia suficiente para aceptar la hipótesis nula de independencia estadística entre las variables nivel educativo y satisfacción con el gobierno (χ²=12.229,df=9,p>0.05). Por lo tanto, es posible sostener que, en Lima, la satisfacción con el gobierno se asocia con el nivel educativo.
**3. Prueba t (t-test) para medias de dos grupos independientes
Este caso lo vamos a desarrollar tanto para el caso paramétrico (t-test) y el caso no paramétrico (U de Mann Withney).
Empecemos con el caso paramétrico.
La prueba t para medias de dos grupos independientes permite determinar si la media en dos poblaciones es la misma. Sus supuestos de aplicación son:
-Cada muestra comparada es un subconjunto aleatorio de la población. -Las muestras son independientes. -La distribución muestral es aproximadamente normal. -Existe igualdad de varianzas a nivel poblacional y muestral. Si en las muestras, la varianza de un grupo es más del doble de la del otro grupo, se requiere ajustar el cálculo del error estándar. -La prueba t para medias de dos grupos independientes permite evaluar las siguientes hipótesis nulas:
H0: μ1−μ2=0 (contraste bilateral). H0: μ1−μ2≥0 & (contraste unilateral). H0: μ1−μ2≤0 (contraste unilateral).
Realizamos un diagrama de cajas y bigotes para explorar si existe dicha diferencia en las medidas de años de estudio entre el grupo que considera que el gobierno esté haciendo lo suficiente para combatir la corrupción y el grupo que no.
boxplot(Encuesta$añ_es ~ Encuesta$co_co,
xlab = "co_co", ylab = "añ_es")
Se verifica que las amplitudes intercuartiles de ambos grupos coinciden,
así como las medianas. Ello nos puede sugerir que no habría diferencia
de medias a nivel poblacional, pero es necesario verificarlo.
Antes recordemos que debemos de verificar la normalidad, la podemos explorar solo para la variable años de estudio, así como para dicha variable en función a ambos grupos.
qqPlot(Encuesta$añ_es)
## [1] 1808 900
qqPlot(Encuesta$añ_es, groups = Encuesta$co_co)
shapiro.test(añ_es)
##
## Shapiro-Wilk normality test
##
## data: añ_es
## W = 0.93267, p-value < 2.2e-16
La variable años de estudio no tiene normalidad. Suponiendo que la variable es una normal corresponde verificar la homogeneidad de varianzas. Ya sea que existe homogeneidad o heterogeneidad de varianzas podemos aplicar la prueba T.
var.test(añ_es ~ co_co, data = Encuesta) #homogeneidad de varianzas
##
## F test to compare two variances
##
## data: añ_es by co_co
## F = 0.99472, num df = 822, denom df = 985, p-value = 0.9384
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
## 0.8729002 1.1344219
## sample estimates:
## ratio of variances
## 0.9947162
Aceptamos la H0 de igualdad de varianzas.
t.test(añ_es ~ co_co, data = Encuesta, var.equal = TRUE)
##
## Two Sample t-test
##
## data: añ_es by co_co
## t = -0.21269, df = 1807, p-value = 0.8316
## alternative hypothesis: true difference in means between group Sí and group No is not equal to 0
## 95 percent confidence interval:
## -0.3755668 0.3020811
## sample estimates:
## mean in group Sí mean in group No
## 11.64277 11.67951
Concluimos que existe igualdad de medias dado que terminamos aceptando la H0 de que las medias son iguales.
Pero como hemos visto en la teoría, no corresponde realizar la prueba paramétrica, sino la no paramétrica.
El resultado es parecido en el caso de la prueba de U de Mann-Whitney
wilcox.test(añ_es ~ co_co)
##
## Wilcoxon rank sum test with continuity correction
##
## data: añ_es by co_co
## W = 403053, p-value = 0.8071
## alternative hypothesis: true location shift is not equal to 0
**4. Prueba t (t-test) para medias de dos grupos no independientes o pareados
La prueba t para medias de dos grupos no independientes permite determinar si la media en dos poblaciones pareadas es la misma. Sus supuestos de aplicación son:
H0: μΔ=0 (contraste bilateral). H0: μΔ≥0 & (contraste unilateral). H0: μΔ≤0 (contraste unilateral).
Veamos un ejemplo. Queremos comprobar si cambia la media de los ingresos entre el primer año y el último año de estudio. Se decide trabajar con un nivel de confianza del 95% y un nivel de significación de α=0.05. Primero evaluamos la normalidad en las variables.
shapiro.test(ing18)
##
## Shapiro-Wilk normality test
##
## data: ing18
## W = 0.45657, p-value < 2.2e-16
shapiro.test(ing22)
##
## Shapiro-Wilk normality test
##
## data: ing22
## W = 0.29135, p-value < 2.2e-16
No tenemos normalidad en las variables de ingresos.
qqPlot(ing18)
## [1] 733 1571
qqPlot(ing22)
## [1] 1335 280
Considerando tanto el test de Shapiro-Wilk para los ingresos de 2018 (W=0.45,p<0.05) y los ingresos de 2022 (W=0.29,p<0.05), como los gráficos q-q normal, se concluye que los datos no siguen una distribución normal.
Supondremos normalidad y practicaremos el la prueba T
t.test(ing18, ing22,
paired = TRUE, conf.level = 0.95, alternative = "two.sided")
##
## Paired t-test
##
## data: ing18 and ing22
## t = 0.96837, df = 1808, p-value = 0.333
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
## -26.53392 78.29000
## sample estimates:
## mean difference
## 25.87804
Con un 95% de confianza, existe evidencia suficiente para aceptar la hipótesis nula de igualdad de medias (t=0.96,df=1808,p>0.05) de los ingresos del 2018 y del 2022. Por lo tanto, es posible sostener que no existen diferencias significativas.
mean(ing18)
## [1] 3190.261
mean(ing22)
## [1] 3164.383
En promedio, en el 2018 fue 3190 y en el 2022 fue 3164.
Para el caso no paramétrico el resultado es distinto, veamos que el resultado es significativo para la prueba de Wilcoxon.
wilcox.test(ing18, ing22, paired = TRUE)
##
## Wilcoxon signed rank test with continuity correction
##
## data: ing18 and ing22
## V = 604133, p-value < 2.2e-16
## alternative hypothesis: true location shift is not equal to 0