##Introduccion En este ejercicio trabajamos con el Modulo sobre Eventos Culturales (MODECULT), trabajamos los promedios de asistencia a diversos eventos cultural segun dos variables que contempla el modulo, siendo estas “mujer” y “hombre”, en una temporalidad anual, es decir, de junio de 2024 a junio de 2025.

##Resultados

  1. Insertamos nuestros paquetes a usar y nuestra base de datos 1.1 Creamos nuestro objeto llamado “Base” 1.2 Modificamos los datos de formato texto a formato numerico
library(readr)
library(dplyr)
## 
## 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(tidyr)

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

1.3 Sacamos la media de cada dato a traves de un rango

medias<- Base %>%
  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 de cada pregunta
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")
  1. Creacion de una tabla 3.1 Seleccionamos las columnas a utilizar 3.2 Calculamos la media por cada columna sin los valores vacios 3.3 Modificamos la tabla de formato ancho a formato largo 3.4 Asignamos las etiquetas correspondientes a cada variable 3.5 Reorganizamos las columnas para visualizarlas mejor
medias<- Base %>%
  select(p1_1:p1_7) %>%
  summarise(across(everything(),\(x) mean(x, na.rm = TRUE))) %>%
  pivot_longer(cols = everything(), names_to = "Variable", values_to = "Media") %>%
  mutate(Etiqueta = etiquetas[Variable]) %>%
  select(Variable, Etiqueta, Media)

3.6 El resultado visual queda de la siguiente forma:

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
  1. Si queremos comparar por sexo, creamos nuestras variables y le asignamos un nombre
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. Calculamos las medias por sexo 5.1 Agrupamos por la variable sexo y seleccionamos las columnas numéricas 5.2 Pasamos a formato largo para integrar las etiquetas fácilmente 5.3 Asignamos el texto largo de la pregunta 5.4 Pasamos la variable sexo a columnas para comparar Hombres vs Mujeres lado a lado y reorganizamos las columnas
tablas_medias_sexo <- Base %>%
  group_by(sexo) %>%
  summarise(across(p1_1:p1_7, \(x) mean(x, na.rm = TRUE)), .groups = "drop") %>%
  pivot_longer(cols = p1_1:p1_7, names_to = "Variable", values_to = "Media") %>%
  mutate(Etiqueta = etiquetas[Variable]) %>%
  pivot_wider(names_from = sexo, values_from = Media) %>%
  
  select(Variable, Etiqueta, Hombres, Mujeres)

5.5 Finalmente el resultado visual queda de la siguiente forma:

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