##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)
## Warning: package 'readr' was built under R version 4.5.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.3
## 
## 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)
## Warning: package 'tidyr' was built under R version 4.5.3
setwd("C:/Users/ACA A-111.INFORMATICA/Downloads/conjunto_de_datos_modecult2025_csv/conjunto_de_datos_modecult_modecult2025/conjunto_de_datos")
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.
Base <- Base %>%
  mutate(across(p1_1:p1_7, as.numeric))
medias<-Base %>% ##sacamos las medias de la p1 a la p7. Abrimos un rango para sacar las medias
  summarise(across(p1_1:p1_7, \(x) mean(x, na.rm=TRUE)))
medias
## # A tibble: 1 × 7
##    p1_1  p1_2  p1_3  p1_4  p1_5  p1_6   p1_7
##   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl>
## 1 0.282 0.759 0.391 0.312  1.80 0.872 0.0366
# 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"
)

# 2. 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

Ahora comparamos por sexo

##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"))
# 1. Definimos el vector de etiquetas (por si no lo habías guardado)
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"
)

# 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)

# 3. 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