#INTODUCCIÓN El Módulo sobre Eventos Culturales Seleccionados (MODECULT) genera información estadística sobre la asistencia a eventos culturales y la participación en actividades artísticas de la población en México. Lo anterior, a fin de proporcionar datos clave para contribuir al diseño de políticas públicas. Desde 2016 y hasta mayo de 2024, el módulo se levantó como parte de la Encuesta Nacional sobre Confianza del Consumidor (ENCO). A partir de 2025 el programa tiene un actualización conceptual y metodológica y se levanta con un operativo y muestra de viviendas independientes a la ENCO.

En este trabajo se analizan los promedios de las asistencias a diferentes eventos culturales en funcion del número de veces que se asiste en el último año. Es decir, entre junio del 2024 a junio del 2025, ya que la encuensa fue levantada en este mes

##RESULTADOS

library("readr")
library("dplyr")
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library("tidyr")

#Subimos la base obtenida en el modecult

base<-read_csv("conjunto_de_datos_tmodecult_modecult2025.csv")
## Rows: 4240 Columns: 76
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (17): llaveviv, p1_1, p1_2, p1_3, p1_4, p1_5, p1_6, p1_7, p1_7_esp, p1_...
## dbl  (58): p2_1, p2_2, p2_3, p2_4, p2_5, p2_6, p3_1, p3_2, p3_3, f_s2_5, p4_...
## dttm  (1): llavemod
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

#Creamos el objeto base, cambiamos los datos en letras a numeros

base<-base %>%
  mutate(across(p1_1:p1_7, as.numeric))
medias<- base %>%
  summarise(across(p1_1:p1_7,\(x) mean(x, na.rm=TRUE)))

#Estructuramos la tabla final

# 1. Creamos un vector con las etiquetas exactas de tu imagen
etiquetas <- c("p1_1" = "Una obra de teatro, por ejemplo: comedia, musical o títeres","p1_2" = "Un concierto o presentación de música en vivo, por ejemplo: de banda, moderna, folclórica o clásica", 
               "p1_3" = "Un espectáculo de danza, por ejemplo: contemporánea, folclórica o ballet",
               "p1_4" = "Una exposición o museo, por ejemplo: de pintura, fotografía, ciencia o de historia",
               "p1_5" = "Proyección de películas o cine",
               "p1_6" = "Ferias, como muestras artesanales, gastronómicas o de productos locales",
               "p1_7" = "Otro espectáculo cultural, como circo o charrería")
#Calculamos las medias y estructuramos la tabla final
medias <- base %>%
  # Seleccionamos las columnas de interés
  select(p1_1:p1_7) %>%
  # Calculamos la media de cada columna ignorando valores vacíos
  summarise(across(everything(), \(x) mean(x, na.rm = TRUE))) %>%
  # Pasamos la tabla de formato ancho a largo
  pivot_longer(cols = everything(), names_to = "Variable", values_to = "Media") %>%
  # Asignamos las etiquetas correspondientes a cada variable
  mutate(Etiqueta = etiquetas[Variable]) %>%
  # Reorganizamos las columnas para una mejor lectura
  select(Variable, Etiqueta, Media)
# 3. Visualizar la tabla en la consola
print(medias)
## # A tibble: 7 × 3
##   Variable Etiqueta                                                        Media
##   <chr>    <chr>                                                           <dbl>
## 1 p1_1     Una obra de teatro, por ejemplo: comedia, musical o títeres    0.282 
## 2 p1_2     Un concierto o presentación de música en vivo, por ejemplo: d… 0.759 
## 3 p1_3     Un espectáculo de danza, por ejemplo: contemporánea, folclóri… 0.391 
## 4 p1_4     Una exposición o museo, por ejemplo: de pintura, fotografía, … 0.312 
## 5 p1_5     Proyección de películas o cine                                 1.80  
## 6 p1_6     Ferias, como muestras artesanales, gastronómicas o de product… 0.872 
## 7 p1_7     Otro espectáculo cultural, como circo o charrería              0.0366

#Comparamos por la variable sexo

base %>% count(sexo)
## # A tibble: 2 × 2
##    sexo     n
##   <dbl> <int>
## 1     1  1949
## 2     2  2291
base$sexo <- factor(base$sexo, 
                    levels = c(1, 2), 
                    labels = c("Hombres", "Mujeres"))

# 2. Calculamos las medias agrupadas por sexo
tablas_medias_sexo <- base %>%
  # Agrupamos por la variable sexo y seleccionamos las columnas numéricas
  group_by(sexo) %>%
  summarise(across(p1_1:p1_7, \(x) mean(x, na.rm = TRUE)), .groups = "drop") %>%
  # Pasamos a formato largo para poder integrar las etiquetas fácilmente
  pivot_longer(cols = p1_1:p1_7, names_to = "Variable", values_to = "Media") %>%
  # Asignamos el texto largo de la pregunta
  mutate(Etiqueta = etiquetas[Variable]) %>%
  # Pasamos la variable sexo a columnas para comparar Hombres vs Mujeres lado a lado
  pivot_wider(names_from = sexo, values_from = Media) %>%
  # Reorganizamos el orden de las columnas
  select(Variable, Etiqueta, Hombres, Mujeres)
#visualizar el resultado

print(tablas_medias_sexo)
## # A tibble: 7 × 4
##   Variable Etiqueta                                              Hombres Mujeres
##   <chr>    <chr>                                                   <dbl>   <dbl>
## 1 p1_1     Una obra de teatro, por ejemplo: comedia, musical o …  0.273   0.289 
## 2 p1_2     Un concierto o presentación de música en vivo, por e…  0.847   0.684 
## 3 p1_3     Un espectáculo de danza, por ejemplo: contemporánea,…  0.347   0.429 
## 4 p1_4     Una exposición o museo, por ejemplo: de pintura, fot…  0.348   0.281 
## 5 p1_5     Proyección de películas o cine                         2.00    1.62  
## 6 p1_6     Ferias, como muestras artesanales, gastronómicas o d…  0.890   0.856 
## 7 p1_7     Otro espectáculo cultural, como circo o charrería      0.0395  0.0340