Solución ejercicio 6

MP

2018/10/23

Iniciar los datos

library(tidyverse)
religion <- foreign::read.spss("http://www.losmexicanos.unam.mx/religion/encuesta_nacional/base_datos/Encuesta_Nacional_de_Religion_Secularizacion_y_Laicidad.sav", 
                               to.data.frame = TRUE)
diccionario <- tibble(nombre = names(religion), 
                      etiquetas = str_trim(attr(religion, "variable.labels")))

Educación religiosa y tolerancia a la diversidad.

Considere las variables p49_6 y p6.

1.1. Explore cada variable con un gráfico de barras, para conocer sus distribución, categorías, etc.

Responda: ¿Cuál es la moda en cada caso?

religion %>% 
  count(p49_6) %>% 
  ggplot(aes(x=p49_6, y = n)) + 
  geom_col() + 
  labs (title = "¿Qué tanto se respetan o no se respetan los derechos de los indígenas?")

religion %>% 
  count(p6) %>% 
  ggplot(aes(x=p6, y = n)) + 
  geom_col() + 
  labs (title = "¿Recibió alguna educación religiosa?")

La moda para la variable p49_6 es No y para p6 es Sí.

1.2. Realice una tabla de contingencia de las dos variables, con todas sus categorías.

religion %>% 
  select(p49_6, p6) %>% 
  table()
##                      p6
## p49_6                  Sí Sí, en parte (esp.)  No  NS  NC
##   Sí                  182                  50 151   1   0
##   Sí, en parte (esp.) 138                  52 129   1   1
##   No                  207                  61 206   3   2
##   NS                    7                   2   5   0   0
##   NC                    1                   1   0   0   0

1.3. Reduzca el número de categorías de la cada una de las variables hasta que no tengan más de tres categorías, conservando la misma n de 1200. Utilice su mejor criterio para decidir que categorías deben compactarse en categorías más generales. Realice una tabla de contingencia de las dos variables y aplique una prueba de \(\chi^2\).

religion %>% 
  select(p49_6, p6) %>% 
  mutate(p49_6 = recode(p49_6, "NC" = "No", "NS" = "No")) %>% 
  mutate(p6 = recode(p6, "NC" = "No", "NS" = "No")) %>% 
  table()
##                      p6
## p49_6                  Sí Sí, en parte (esp.)  No
##   Sí                  182                  50 152
##   Sí, en parte (esp.) 138                  52 131
##   No                  215                  64 216
religion %>% 
  select(p49_6, p6) %>% 
  mutate(p49_6 = recode(p49_6, "NC" = "No", "NS" = "No")) %>% 
  mutate(p6 = recode(p6, "NC" = "No", "NS" = "No")) %>% 
  table() %>% 
  chisq.test()
## 
##  Pearson's Chi-squared test
## 
## data:  .
## X-squared = 3.7026, df = 4, p-value = 0.4478

Responda:

  • Las actitudes de tolerancia o intolerancia ¿Son independientes de la formación religiosa que han recibido las personas?

El valor p de la prueba \(\chi^2\) es 0.4478, es decir, la probabilidad de encontrar el valor 3.7026 en una distribución aleatoria \(\chi^2\) con cuatro grados de libertad es alto. Por consiguiente no disponemos de evidencia para rechazar la hipótesis de independencia estadística. De manera sustantiva sostenemos que las percepciones sobre el respeto de los derechos indígenas se distribuyen de manera independiente de la educación religiosa de las personas.

  • Escriba en no más de 500 palabras su valoración sobre los resultados.

A manera de valoración podría señalar que el profesor de la asignatura -un reputado disléxico- confundió el nombre de la variable p49_6 con el de la variable p_46_9, haciendo a todo este ejercicio mucho menos interesante.

  • Justifique el criterio que utilizó para compactar las variables.

Las respuestas NS y NC suman una proporción muy pequeña de la n: 16 para el caso de p49_6 y 8 para p6. Una alternativa hubiera sido eliminarlas. Sin embargo para mantenet la n la desición fue compactarlas, recodificándolas a No. Si bien la respuesta dada no es exactamente No se asume que quienes respondiendo NS/NC muy probablemente no hayan recibido educación religiosa.

religion %>% 
  count(p49_6) %>% 
  filter(p49_6 %in% c("NC", "NS"))
## # A tibble: 2 x 2
##   p49_6     n
##   <fct> <int>
## 1 NS       14
## 2 NC        2
religion %>% 
  count(p6) %>% 
  filter(p6 %in% c("NC", "NS"))
## # A tibble: 2 x 2
##   p6        n
##   <fct> <int>
## 1 NS        5
## 2 NC        3