rm(list=ls()) #Limpiar entorno de trabajo
setwd("/home/daniel/Dropbox/U CENTRAL/02 2020/02 Segundo semestre 2020/Taller de análisis de datos sociales en R/Clases/04 sesion/Ejemplos prácticos") #Escribir el directorio en que va a trabajar
#Si su pc no tiene instalado los paquetes, primero ejecutar:
#Sólo si no has instalado antes los paquetes requeridos:
# install.packages("foreign")
# install.packages("dplyr")
# install.packages("car")
# install.packages("xtable")
library(foreign) #Paquete para importar datos
library(dplyr) #Paquete de procesamiento de bases de datos
library(car) #Paquete de análisis de datos
library(xtable) #Paquete tablas en LaTeX
La covarianza y correlación permiten cuantificar el grado de asociación lineal entre dos variables continuas. La correlación presente coeficientes estandarizados y la covarianza, no estandarizados.
Veamos un ejemplo.
Imaginemos que se necesita evaluar la asociación entre el puntaje PSU y la cantidad de libros por persona en el hogar, y que para ello, se cuenta con una muestra aleatoria de estudiantes del país (\(n = 2000\)).
# Primero, generamos datos simulados (n=2000).
set.seed(123) #fijar semilla aleatoria
#libros por persona
librospersona <- rnorm(2000, 5,2)
librospersona[librospersona < 0] <- 0
#puntaje psu
psu <- 200 + 20*librospersona + rnorm(2000,150,45)
Calculamos covarianza y correlación.
cov(psu, librospersona)
## [1] 78.57599
cor(psu, librospersona)
## [1] 0.6639449
Elaboramos un diagrama de dispersión.
#diagrama de dispersión
plot(librospersona, psu)
abline(lm(psu ~ librospersona), col = "red") #agregar tendencia lineal
La prueba de correlación de Pearson permite determinar si existe asociación lineal entre dos variables continuas. Sus supuestos de aplicación son:
La prueba de correlación de Pearson permite evaluar la siguientes hipótesis nula y alternativa:
Continuamos con ejemplo anterior. Se decide trabajar con un nivel de confianza del 95% y un nivel de significación de \(\alpha = 0.05\).
Comprobamos supuestos de aplicación.
Supongamos que se cumple que la muestra sea un subconjunto aleatorio de la población (aunque sean datos simulados). Por ende, nos queda comprobar que no exista una asociación no lineal entre las variables y que las variables presenten una distribución normal.
Utilizaremos un diagrama de dispersión para explorar si es que existe una relación no lineal entre las variables.
#diagrama de dispersión
plot(librospersona, psu)
abline(lm(psu ~ librospersona), col = "red") #agregar tendencia lineal
Se comprueba que la distribución conjunta de las variables sigue un patrón lineal.
Luego, se evalúa si se cumple el supuesto de normalidad en la distribución de las variables.
#Normalidad en libros por persona
shapiro.test(librospersona)
##
## Shapiro-Wilk normality test
##
## data: librospersona
## W = 0.99845, p-value = 0.06044
qqPlot(librospersona)
## [1] 1324 1622
#Normalidad en psu
shapiro.test(psu)
##
## Shapiro-Wilk normality test
##
## data: psu
## W = 0.99948, p-value = 0.8901
qqPlot(psu)
## [1] 135 855
Considerando tanto el test de Shapiro-Wilk para la variable libros por persona en el hogar (\(W = 1.00, \; p > 0.05\)) y psu (\(W = 1.00, \; p > 0.05\)), como los gráficos q-q normal, se concluye que ambas variables siguen una distribución normal.
De esta manera, se comprueban los supuestos necesarios para realizar una prueba de correlación Pearson.
cor.test(librospersona, psu, method = "pearson", use = "complete.obs")
##
## Pearson's product-moment correlation
##
## data: librospersona and psu
## t = 39.688, df = 1998, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.6387010 0.6877611
## sample estimates:
## cor
## 0.6639449
En la muestra se observa un coeficiente de correlación Pearson (\(r\)) de 0.66, siendo estadísticamente significativo a un nivel de confianza de 95% (\(t = 39.69, \; df = 1,998, \; p < 0.05\)). De esta manera, existe evidencia suficiente para afirmar que en Chile los estudiantes que poseen más libros por persona en su hogar son también quienes obtienen mejores puntajes PSU (¡DATOS FICTICIOS!).
rm(list=ls()) #Limpiar entorno de trabajo
CEP84 <- read.spss("/home/daniel/Dropbox/U CENTRAL/02 2020/02 Segundo semestre 2020/Taller de análisis de datos sociales en R/Clases/04 sesion/Ejemplos prácticos/CEP84/Encuesta CEP 84 Dic 2019 v1.sav", to.data.frame = TRUE)
#ajustar ruta a tu pc
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 prueba de correlación de Spearman permite evaluar la siguientes hipótesis nula y alternativa:
Veamos un ejemplo.
Empleando los datos de la encuesta CEP 84, se necesita evaluar la asociación entre la percepción de la situación económica del país y la percepción de la situación económica personal. Por lo tanto, se evaluará la siguiente hipótesis nula y alternativa:
Se decide trabajar con un nivel de confianza del 95% y un nivel de significación de \(\alpha = 0.05\).
# Primero, un poco de procesamiento de los datos.
#Situación económica país
levels(CEP84$MB_P2) #Ver niveles de variable
## [1] "1. - MUY MALA" "2. - MALA" "3. - NI BUENA NI MALA"
## [4] "4. - BUENA" "5. - MUY BUENA" "8. - No sabe"
## [7] "9. - No contesta"
CEP84$MB_P2 <- na_if(CEP84$MB_P2,"8. - No sabe") #No sabe como NA
CEP84$MB_P2 <- na_if(CEP84$MB_P2,"9. - No contesta") #No contesta como NA
CEP84$MB_P2 <- droplevels(CEP84$MB_P2) # Borrar niveles no usados
CEP84$MB_P2 <- as.numeric(CEP84$MB_P2) #Transformar de factor a vector numérico
#Situación económica personal
levels(CEP84$MB_P4) #Ver niveles de variable
## [1] "1. - MUY MALA" "2. - MALA" "3. - NI BUENA NI MALA"
## [4] "4. - BUENA" "5. - MUY BUENA" "8. - No sabe"
## [7] "9. - No contesta"
CEP84$MB_P4 <- na_if(CEP84$MB_P4,"8. - No sabe") #No sabe como NA
CEP84$MB_P4 <- na_if(CEP84$MB_P4,"9. - No contesta") #No contesta como NA
CEP84$MB_P4 <- droplevels(CEP84$MB_P4) # Borrar niveles no usados
CEP84$MB_P4 <- as.numeric(CEP84$MB_P4) #Transformar de factor a vector numérico
Comprobamos supuestos de aplicación.
se cumple que la muestra sea un subconjunto aleatorio de la población, ya que la Encuesta CEP 84 posee una muestra probabilística. Sólo nos queda comprobar que no exista una asociación no lineal entre las variables.
Utilizaremos un diagrama de dispersión para explorar si es que existe una relación no lineal entre las variables.
#diagrama de dispersión
plot(jitter(CEP84$MB_P2,5), jitter(CEP84$MB_P4,5),
xlab = "Situación económica del país",
ylab = "Situación económica personal")
abline(lm(CEP84$MB_P2 ~ CEP84$MB_P4), col = "red") #agregar tendencia lineal
Se comprueba que la distribución conjunta de las variables sigue un patrón lineal.
De esta manera, se comprueban los supuestos necesarios para realizar una prueba de correlación Spearman.
cor.test(CEP84$MB_P2, CEP84$MB_P4, method = "spearman", use = "complete.obs")
## Warning in cor.test.default(CEP84$MB_P2, CEP84$MB_P4, method = "spearman", :
## Cannot compute exact p-value with ties
##
## Spearman's rank correlation rho
##
## data: CEP84$MB_P2 and CEP84$MB_P4
## S = 404418503, p-value < 2.2e-16
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## 0.2694062
En la muestra se observa un coeficiente de correlación Spearman (\(\rho\)) de 0.27, siendo estadísticamente significativo a un nivel de confianza de 95% (\(p < 0.05\)). De esta manera, existe evidencia suficiente para afirmar que existe una correlación leve entre ambas variables, donde en las personas que perciben una situación económica personal desfavorable, perciben también una situación económica del país empeorada.
La prueba Z para dos proporciones permite determinar si la proporción de elementos que tienen un atributo en dos poblaciones es la misma. Sus supuestos de aplicación son:
La prueba Z para dos proporciones permite evaluar las siguientes hipótesis nulas:
Veamos un ejemplo.
Necesitamos saber si la proporción de personas que aprueban una nueva Constitución varía según sexo. Por lo tanto,
Se decide trabajar con un nivel de confianza del 95% y un nivel de significación de \(\alpha = 0.05\).
# Primero, preparamos los datos para el análisis.
#Nueva constitución
CEP84$ESP_45 <- na_if(CEP84$ESP_45,"88.- No sabe") #No sabe como NA
CEP84$ESP_45 <- na_if(CEP84$ESP_45,"99.- No contesta") #No contesta como NA
CEP84$ESP_45 <- droplevels(CEP84$ESP_45) # Borrar niveles no usados
levels(CEP84$ESP_45) #Ver niveles
## [1] "1.- Aprueba" "2.- Rechaza"
levels(CEP84$ESP_45) <- c("Aprueba", "Rechaza") #Ordenar un poco los niveles
#Sexo
levels(CEP84$DS_P1) #Ver niveles de variable sexo
## [1] "1. - HOMBRE" "2. - MUJER"
levels(CEP84$DS_P1) <- c("Hombre", "Mujer") #Mejorar el formato de los niveles del factor
Comprobamos supuestos de aplicación.
table(CEP84$ESP_45, CEP84$DS_P1)
##
## Hombre Mujer
## Aprueba 412 559
## Rechaza 78 110
Dado que el diseño de muestra de la Encuesta CEP84 es de tipo probabilístico se cumple que la muestra sea un subconjunto aleatorio de la población. Asimismo, los grupos conformados por hombres y mujeres conforman grupos independientes o no pareados. Y por último, se comprueba que para hombres y mujeres, en cada nivel de las actitudes hacia una nueva Constitución hay más de 10 casos.
ztest <- prop.test(x = c(412, 559), n = c(490, 669), conf.level = 0.95,
alternative = "two.sided")
#Si es contraste unilateral en alternative escribimos "less" o "greater" segun corresponda
sqrt(ztest$statistic) #Estadistico Z
## X-squared
## 0.1584438
ztest$p.value #Valor p
## [1] 0.8741071
ztest$parameter #Grados de libertad
## df
## 1
Con un 95% de confianza, existe evidencia suficiente para no rechazar la hipótesis nula de igualdad de proporciones (\(Z = 0.16, \; df = 1, \; p > 0.05\)) de “apruebo” entre hombres y mujeres. Por lo tanto, es posible sostener que no existen diferencias significativas en la proporción de personas que aprueban una nueva Constitución, según sexo. El 84.08% de los hombres y el 83.56% de las mujeres contestaron que aprueban una nueva Constitución.
La prueba t para medias de dos grupos indendientes permite determinar si la media en dos poblaciones es la misma. Sus supuestos de aplicación son:
La prueba t para medias de dos grupos indendientes permite evaluar las siguientes hipótesis nulas:
Veamos un ejemplo.
Necesitamos saber cómo se asocian las creencias respecto del sueldo que debiera ganar un obrero no calificado de una fábrica (sueldo ético obrero) y las actitudes respecto de una nueva Constitución (aprueba o rechaza). Por lo tanto, definimos las siguientes hipótesis a contrastar:
Se decide trabajar con un nivel de confianza del 95% y un nivel de significación de \(\alpha = 0.05\).
# Primero, preparamos los datos para el análisis.
#Sueldo ético obreros
class(CEP84$ESP_15C1) #Qué clase de vector es? Numeric, ok.
## [1] "numeric"
Comprobamos supuestos de aplicación. Primero, dado el diseño de muestra de la encuesta CEP sabemos que cada muestra comparada es un subconjunto aleatorio de la población. Y dado el carácter transversal de los datos y que vamos a comparar grupos según sexo, sabemos que las muestras son independientes.
Luego, evaluamos si hay una distribución aproximadamente normal en ambos grupos.
Se comienza evaluando la presencia de datos atípicos.
#Diagrama de cajas con fines exploratorios
boxplot(CEP84$ESP_15C1 ~ CEP84$ESP_45,
xlab = "Nueva Constitución", ylab = "Sueldo ético obrero")
Se detecta presencia de datos atípicos. Se decide eliminar datos atípicos (convertirlos en NA).
#Se crea función para identificar valores atípicos como casos más distantes que 1.5 veces el rango intercuantilico (IQR) y reemplazarlos por NA.
outliersNA <- function(x, na.rm = TRUE, ...) {
qnt <- quantile(x, probs=c(.25, .75), na.rm = na.rm, ...)
H <- 1.5 * IQR(x, na.rm = na.rm)
y <- x
y[x < (qnt[1] - H)] <- NA
y[x > (qnt[2] + H)] <- NA
y
}
#remover outliers
CEP84$sueldo.n.obreros <- outliersNA(CEP84$ESP_15C1, na.rm = TRUE)
#Diagrama de cajas sin valores atípicos
boxplot(CEP84$sueldo.n.obreros ~ CEP84$ESP_45,
xlab = "Nueva Constitución", ylab = "Sueldo ético obrero")
Una vez removidos los valores atípicos, se evalúa normalidad en la variable sueldo ético obrero.
#Chequear normalidad en ambas poblaciones (Test de Shapiro-Wilk)
CEP84 %>%
group_by(CEP84$ESP_45) %>%
summarise(statistic = shapiro.test(sueldo.n.obreros)$statistic,
p.value = shapiro.test(sueldo.n.obreros)$p.value)
## `summarise()` ungrouping output (override with `.groups` argument)
## # A tibble: 3 x 3
## `CEP84$ESP_45` statistic p.value
## <fct> <dbl> <dbl>
## 1 Aprueba 0.884 1.10e-25
## 2 Rechaza 0.908 4.37e- 9
## 3 <NA> 0.877 2.36e-15
#Chequear normalidad mediante gráfico q-q normal
qqPlot(CEP84$sueldo.n.obreros, groups = CEP84$ESP_45)
Considerando tanto el test de Shapiro-Wilk para quienes aprueban una nueva Constitución (\(W = 0.88, \; p < 0.05\)) y para quienes la rechazan (\(W = 0.91, \; p < 0.05\)), como los gráficos q-q normal, se concluye que el sueldo ético obrero no sigue una distribución normal en ambos grupos. Sin embargo, dado que ambos grupos poseen más de 30 casos en la muestra es posible realizar una prueba t, ya que ésta es robusta frente a la violación del supuesto de normalidad cuando \(n > 30\).
Por último, se evalúa el supuesto de homogeneidad de varianzas.
#Prueba F de homogeneidad de varianzas
var.test(sueldo.n.obreros ~ ESP_45, data = CEP84)
##
## F test to compare two variances
##
## data: sueldo.n.obreros by ESP_45
## F = 0.83293, num df = 920, denom df = 176, p-value = 0.1033
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
## 0.6567758 1.0375378
## sample estimates:
## ratio of variances
## 0.8329306
De acuerdo con el Test F de homogeneidad de varianzas estimado (\(F = 0.83, \; df = 920, \; p > 0.05\)), es posible asumir que existe igualdad de varianzas.
t.test(sueldo.n.obreros ~ ESP_45, data = CEP84, var.equal = TRUE)
##
## Two Sample t-test
##
## data: sueldo.n.obreros by ESP_45
## t = 1.0361, df = 1096, p-value = 0.3004
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -13198.96 42736.96
## sample estimates:
## mean in group Aprueba mean in group Rechaza
## 619068.4 604299.4
#Si no hay igualdad de varianzas: var.equal = FALSE
#Para constrastes unilaterales agregamos: alternative = "less" o alternative = "greater"
Con un 95% de confianza, existe evidencia suficiente para no rechazar la hipótesis nula de igualdad de medias (\(t = 1.04, \; df = 1096, \; p > 0.05\)) de sueldo ético obrero entre personas que aprueban y rechazan una nueva Constitución. Por lo tanto, es posible sostener que no existen diferencias significativas en las creencias respecto del sueldo que debiera ganar un obrero no calificado de una fábrica, según actitudes hacia una nueva Constitución. En promedio, quienes aprueban proponen un sueldo ético obrero de $619,068 y quienes rechazan, $604,299 -lo que constituye una diferencia no significativa.
rm(list=ls()) #Limpiar entorno de trabajo
La prueba t para medias de dos grupos no indendientes permite determinar si la media en dos poblaciones pareadas es la misma. Sus supuestos de aplicación son:
La prueba t para medias de dos grupos no indendientes permite evaluar las siguientes hipótesis nulas:
Veamos un ejemplo.
Supongamos que un equipo de fútbol ha cambiado de entrenador y en su contrato se señala que una vez que se han jugado 100 partidos se evaluará su rendimiento en una muestra aleatoria de 50 partidos, empleando un indicador que varía de 0 a 100. Por lo tanto, definimos las siguientes hipótesis a contrastar:
Se decide trabajar con un nivel de confianza del 95% y un nivel de significación de \(\alpha = 0.05\).
# Primero, generar datos ficticios.
set.seed(123)
antiguo.entrenador <- rnorm(100, 55, 17)
nuevo.entrenador <- antiguo.entrenador - runif(100,10,20)
# Muestras aleatorias
antiguo.entrenador.muestra <- sample(antiguo.entrenador, 50)
nuevo.entrenador.muestra <- sample(nuevo.entrenador, 50)
Comprobamos supuestos de aplicación. Sabemos que ambas muestras son un subconjunto aleatorio de los 100 partidos jugados antes y después del cambio de entrenador. Además, dado que todas las medidas se refieren al mismo equipo, son muestras no independientes.
Se evalúa normalidad en las variables.
#Chequear normalidad en ambas poblaciones (Test de Shapiro-Wilk)
shapiro.test(antiguo.entrenador.muestra)
##
## Shapiro-Wilk normality test
##
## data: antiguo.entrenador.muestra
## W = 0.98539, p-value = 0.7882
shapiro.test(nuevo.entrenador.muestra)
##
## Shapiro-Wilk normality test
##
## data: nuevo.entrenador.muestra
## W = 0.97117, p-value = 0.2581
#Chequear normalidad mediante gráfico q-q normal
qqPlot(antiguo.entrenador.muestra)
## [1] 38 46
qqPlot(nuevo.entrenador.muestra)
## [1] 31 14
Considerando tanto el test de Shapiro-Wilk para los datos antes (\(W = 0.99, \; p > 0.05\)) y despúes del cambio de entrenador (\(W = 0.97, \; p > 0.05\)), como los gráficos q-q normal, se concluye que los datos siguen una distribución normal.
t.test(antiguo.entrenador.muestra, nuevo.entrenador.muestra,
paired = TRUE, conf.level = 0.95, alternative = "two.sided")
##
## Paired t-test
##
## data: antiguo.entrenador.muestra and nuevo.entrenador.muestra
## t = 3.9557, df = 49, p-value = 0.0002457
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 5.973904 18.311525
## sample estimates:
## mean of the differences
## 12.14271
#Para constrastes unilaterales agregamos: alternative = "less" o alternative = "greater"
mean(antiguo.entrenador.muestra)
## [1] 54.59773
mean(nuevo.entrenador.muestra)
## [1] 42.45502
Con un 95% de confianza, existe evidencia suficiente para rechazar la hipótesis nula de igualdad de medias (\(t = 3.96, \; df = 49, \; p < 0.05\)) del rendimiento del equipo antes y después del cambio de entrenador. Por lo tanto, es posible sostener que existen diferencias significativas. En promedio, antes del cambio el equipo rindió un 54.60 y luego, 42.46.
#Podemos llegar a la misma conclusión con un contraste unilateral
t.test(antiguo.entrenador.muestra, nuevo.entrenador.muestra,
paired = TRUE, conf.level = 0.95, alternative = "less")
##
## Paired t-test
##
## data: antiguo.entrenador.muestra and nuevo.entrenador.muestra
## t = 3.9557, df = 49, p-value = 0.9999
## alternative hypothesis: true difference in means is less than 0
## 95 percent confidence interval:
## -Inf 17.28924
## sample estimates:
## mean of the differences
## 12.14271
Abrir base de datos CEP 84 (Diciembre 2019).
rm(list=ls()) #Limpiar entorno de trabajo
CEP84 <- read.spss("/home/daniel/Dropbox/U CENTRAL/02 2020/02 Segundo semestre 2020/Taller de análisis de datos sociales en R/Clases/04 sesion/Ejemplos prácticos/CEP84/Encuesta CEP 84 Dic 2019 v1.sav", to.data.frame = TRUE)
#ajustar ruta a tu pc
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 la siguientes hipótesis nulas y alternativa:
Veamos un ejemplo.
Necesitamos saber si, en Chile, el estado de salud percibido varía según sexo. Por lo tanto, se evaluará la siguiente hipótesis nula y alternativa:
Se decide trabajar con un nivel de confianza del 95% y un nivel de significación de \(\alpha = 0.05\).
# Primero, preparamos los datos para el análisis.
#Estado de salud percibido
CEP84$SV_4 <- na_if(CEP84$SV_4,"8.- No sabe") #No sabe como NA
CEP84$SV_4 <- na_if(CEP84$SV_4,"9.- No contesta") #No contesta como NA
CEP84$SV_4 <- droplevels(CEP84$SV_4) # Borrar niveles no usados
levels(CEP84$SV_4) #Ver niveles de variable
## [1] "1.- Excelente" "2.- Muy buena" "3.- Buena" "4.- Más o menos"
## [5] "5.- Mala"
levels(CEP84$SV_4) <- c("Excelente", "Muy buena", "Buena", "Más o menos", "Mala")
#Mejorar el formato de los niveles del factor
#Sexo
levels(CEP84$DS_P1) #Ver niveles de variable sexo
## [1] "1. - HOMBRE" "2. - MUJER"
levels(CEP84$DS_P1) <- c("Hombre", "Mujer") #Mejorar el formato de los niveles del factor
Comprobamos supuestos de aplicación.
Dado que el diseño de muestra de la Encuesta CEP84 es de tipo probabilístico se cumple que la muestra sea un subconjunto aleatorio de la población. Además, examinando las características de las variables a analizar se cumple que cada una tenga menos de 20 niveles. Por último, el supuesto relativo a que exista un mínimo de 5 valores esperados en cada celda también se cumple.
tabla <- table(CEP84$SV_4, CEP84$DS_P1) # Elaborar tabla cruzada
chisq.test(tabla)$expected # Ver valores esperados en la tabla cruzada
##
## Hombre Mujer
## Excelente 34.45783 53.54217
## Muy buena 67.34940 104.65060
## Buena 236.89759 368.10241
## Más o menos 193.43373 300.56627
## Mala 52.86145 82.13855
chi <-chisq.test(tabla) #Guardamos los resultados del test en un objeto
chi
##
## Pearson's Chi-squared test
##
## data: tabla
## X-squared = 18.367, df = 4, p-value = 0.001046
Con un 95% de confianza, existe evidencia suficiente para rechazar la hipótesis nula de independencia estadística entre las variables sexo y estado de salud percibido (\(\chi² = 18.37, \; df = 4, \; p < 0.05\)). Por lo tanto, es posible sostener que, en Chile, el estado de salud percibido varía según sexo.
Si observamos la tabla cruzada, se constata que los hombres tienden a presentar un mejor estado de salud percibido que las mujeres. Un 19.66% de los hombres encuestados señalan tener una salud excelente o buena, en cambio, sólo un 15.95% de las mujeres lo hace. Un 44.96% de los hombres califica su salud como buena y un 37.62% de las mujeres. Y un 35.38% de los hombres dice que su salud es más o menos o mala, frente a un 46.43% mujeres.
#Para analizar de qué manera se asocian ambas variables
#Tabla cruzada con porcentajes
tabla2 <- prop.table(tabla,2)*100 #Distribución condicionada por columnas
#Agregar las distribuciones marginales hace más fácil de leer la tabla
Total <- prop.table(margin.table(tabla,1))*100 #Filas
tabla2 <- cbind(tabla2, Total)
Total <- c(100,100,100)
tabla2 <- rbind(tabla2, Total)
tabla2
## Hombre Mujer Total
## Excelente 6.495726 5.50055 5.890228
## Muy buena 13.162393 10.45105 11.512718
## Buena 44.957265 37.62376 40.495315
## Más o menos 28.376068 36.08361 33.065596
## Mala 7.008547 10.34103 9.036145
## Total 100.000000 100.00000 100.000000
#Tabla en LaTeX
xtable(tabla2, caption = "Estado de salud percibido, según sexo (porcentajes)")
## % latex table generated in R 4.0.3 by xtable 1.8-4 package
## % Tue Dec 1 15:21:18 2020
## \begin{table}[ht]
## \centering
## \begin{tabular}{rrrr}
## \hline
## & Hombre & Mujer & Total \\
## \hline
## Excelente & 6.50 & 5.50 & 5.89 \\
## Muy buena & 13.16 & 10.45 & 11.51 \\
## Buena & 44.96 & 37.62 & 40.50 \\
## Más o menos & 28.38 & 36.08 & 33.07 \\
## Mala & 7.01 & 10.34 & 9.04 \\
## Total & 100.00 & 100.00 & 100.00 \\
## \hline
## \end{tabular}
## \caption{Estado de salud percibido, según sexo (porcentajes)}
## \end{table}
#Residuos estandarizados del test
round(chi$residuals, 3)
##
## Hombre Mujer
## Excelente 0.603 -0.484
## Muy buena 1.176 -0.943
## Buena 1.696 -1.360
## Más o menos -1.973 1.582
## Mala -1.631 1.309
Nota: Analizar los residuos estandarizados permite orientar la interpretación de una asociación identificada mediante la prueba chi cuadrado. Residuos positivos significan una atracción entre las categorías de cada variable analizada. Y residuos negativos significan repulsión entre las categorías de cada variable analizada. A mayor valor absoluto del residuo, mayor fuerza tiene la repulsión o atracción.
Generalmente no se reportan los residuos, sino que las tablas cruzadas, el estadístico chi cuadrado, los grados de libertad y el valor p, ya que resultan poco intuitivos y difíciles de comunicar.
Los residuos estandarizados se calculan como: \(\frac{O-E}{\sqrt{E}}\).