1. Resumen ejecutivo

(Máximo 2 párrafos) Síntesis de la pregunta de investigación.

Resumen breve de la metodología utilizada.

Principales 3-5 hallazgos y recomendaciones clave.

2. Definición del Problema y Alcance

Pregunta de investigación:

¿Cómo impacta el género, estado civil, nivel de escolaridad y ocupación actual de los participantes en el tipo de taller cursado observada en los macro centros comunitarios de Nuevo León desde 2017-2025?

Objetivos

General: Analizar cómo influyen el género, estado civil, nivel de escolaridad y ocupación actual de los participantes en la elección de talleres ofrecidos en los macrocentros comunitarios de Nuevo León entre 2017 y 2025, identificando patrones asociados a la segregación ocupacional por género.

Específicos: - Describir las características sociodemográficas (género, estado civil, nivel educativo y ocupación) de los participantes en los talleres de los macrocentros comunitarios.

  • Examinar la relación entre el género y la elección de talleres para identificar posibles tendencias de segregación ocupacional.

  • Analizar cómo el nivel educativo, el estado civil y la ocupación actual influyen en la elección del tipo de taller cursado.

  • Determinar qué tipo de talleres presentan una distribución más equitativa entre géneros y cuáles refuerzan estereotipos ocupacionales.

  • Proponer estrategias para promover una participación más equitativa en los talleres, reduciendo la segregación ocupacional por género.

Justificación de las variables seleccionadas para el estudio

3. Limpieza y procesamiento de datos

# Librerías que vamos a usar
library(readxl)    # para leer Excel
library(janitor)   # para limpiar nombres de columnas
library(dplyr)     # para manipular datos
library(stringr)   # para texto (mayúsculas, etc.)
library(mice)
library(stringi)

CARGA DE ARCHIVOS

# Función: si encuentra el primer nombre de la lista en el df, lo renombra
renombrar_primera_coincidencia <- function(df, nuevo_nombre, candidatos) {
  for (c in candidatos) {
    if (c %in% names(df)) {
      names(df)[names(df) == c] <- nuevo_nombre
      break
    }
  }
  df
}
# Función principal de estandarización de nombres
estandarizar_nombres <- function(df) {
  df <- df |> clean_names()  # nombres tipo snake_case
  # Socio-demográficas
  df <- renombrar_primera_coincidencia(
    df,
    "genero",
    c("x1_cual_es_su_genero", "sexo", "genero", "cual_es_su_genero")
  )
  df <- renombrar_primera_coincidencia(
    df,
    "edad",
    c("edad", "x2_cuantos_anos_cumplidos_tiene", "cuantos_anos_cumplidos_tiene")
  )
  df <- renombrar_primera_coincidencia(
    df,
    "estado_civil",
    c("x3_actualmente_cual_es_su_estado_civil", "estado_civil", "actualmente_cual_es_su_estado_civil")
  )
  df <- renombrar_primera_coincidencia(
    df,
    "escolaridad",
    c("x4_cual_es_su_maximo_nivel_de_escolaridad_alcanzado_al_dia_de_hoy",
      "escolaridad_actual", "escolaridad", "cual_es_su_maximo_nivel_de_escolaridad_alcanzado_al_dia_de_hoy")
  )
  df <- renombrar_primera_coincidencia(
    df,
    "ocupacion",
    c("x5_a_que_se_dedica_actualmente_puede_seleccionar_una_o_mas_opciones",
      "a_que_se_dedica_actualmente", "a_que_se_dedica_actualmente_puede_seleccionar_una_o_mas_opciones")
  )
  df <- renombrar_primera_coincidencia(
    df,
    "taller",
    c("curso_o_taller_que_cursa_o_termino",
      "curso_taller",
      "curso_o_taller",
      "taller",
      "nombre_del_taller")
  )
  df <- renombrar_primera_coincidencia(
    df,
    "centro_comunitario",
    c("centro_comunitario")
  )
  df <- renombrar_primera_coincidencia(
    df,
    "la_calidad_y_cantidad_de_materiales_y_equipo_utilizados_en_el_curso_o_taller",
    c("calidad_y_cantidad_de_materiales_y_equipo_utilizados_en_el_curso_o_taller", "la_calidad_y_cantidad_de_materiales_y_equipo_utilizados_en_el_curso_o_taller"))
  df <- renombrar_primera_coincidencia(
    df,
    "el_contenido_o_temas_del_curso_o_taller",
    c("contenido_o_temas_del_curso_o_taller", "el_contenido_o_temas_del_curso_o_taller"))
  df <- renombrar_primera_coincidencia(
    df,
    "trato_recibido_por_el_personal_que_labora_en_el_centro_comunitario",
    c("trato_y_o_información_brindada_por_el_personal_que_labora_en_el_centro_comunitario", "el_trato_y_o_información_brindada_por_el_personal_que_labora_en_el_centro_comunitario", "trato_recibido_por_el_personal_que_labora_en_el_centro_comunitario"))
  # Preguntas abiertas 
  df <- renombrar_primera_coincidencia(
    df,
    "comentario_curso",
    c("comentarios_sobre_el_curso_o_taller_que_recibio",
      "comentarios_sobre_el_curso_taller_que_recibio")
  )
  df <- renombrar_primera_coincidencia(
    df,
    "curso_de_interes",
    c("si_tiene_algun_otro_curso_o_taller_que_le_interesaria_tomar_que_no_se_ofrece_en_el_centro_comunitario_favor_de_mencionarlo",
      "x10_si_tiene_algun_otro_curso_o_taller_que_le_interesaria_tomar_que_no_se_ofrece_en_el_centro_comunitario_favor_de_mencionarlo")
  )
  df <- renombrar_primera_coincidencia(
    df,
    "otro_taller_menciona",
    c("en_caso_de_elegir_otro_menciona_el_taller_al_que_asistes", "otro_taller_que_haya_tomado_en_el_trimestre_coloque_un_cero_si_no_tomo_otro_taller")
  )
  df <- renombrar_primera_coincidencia(
    df, 
    "aprendizajes_aplicaciones",
    c("lo_que_usted_aprendio_en_el_curso_o_taller_en_donde_lo_aplicaria", "x6_lo_que_usted_aprendio_en_el_curso_taller_en_que_ambito_de_su_vida_lo_aplicaria_puede_marcar_hasta_dos_opciones", "lo_que_usted_aprendio_en_el_curso_taller_en_que_ambito_de_su_vida_lo_aplicaria_puede_marcar_hasta_dos_opciones")
  )
  df <- renombrar_primera_coincidencia(
    df,
    "sugerencia_general",
    c("otras_sugerencia_u_opiniones_que_permitan_mejorar_los_servicios_brindados_en_el_centro_comunitario",
      "sugerencia_o_comentario_que_nos_permita_mejorar_el_taller_o_eventos_a_los_que_asistio_opcional")
  )
  
  return(df)
}

Aplicar la estandarización a todas las bases

ruta <- ruta <- "C:/Users/maxcu/R/R studio/Nueva carpeta/Bases de datos_CC_SII/Bases de datos_CC_SII"

archivo_2017_4t <- list.files(ruta, pattern = "4T 2017", full.names = TRUE)
archivo_2018_4t <- list.files(ruta, pattern = "4T 2018", full.names = TRUE)
archivo_2019_4t <- list.files(ruta, pattern = "4T 2019", full.names = TRUE)
archivo_2020_4t <- list.files(ruta, pattern = "4T 2020", full.names = TRUE)
archivo_2021_4t <- list.files(ruta, pattern = "4T 2021", full.names = TRUE)

archivo_2022_1t <- list.files(ruta, pattern = "1T 2022", full.names = TRUE)

archivo_2024_2t <- list.files(ruta, pattern = "2T 2024", full.names = TRUE)
archivo_2024_3t <- list.files(ruta, pattern = "3T 2024", full.names = TRUE)
archivo_2024_4t <- list.files(ruta, pattern = "4T 2024", full.names = TRUE)

archivo_2025_1t <- list.files(ruta, pattern = "1T 2025", full.names = TRUE)
archivo_2025_2t <- list.files(ruta, pattern = "2T 2025", full.names = TRUE)

# Ahora leemos cada archivo usando esos paths

bd_2017_4t <- readxl::read_excel(archivo_2017_4t, col_types = "text") |>
  estandarizar_nombres() |>
  dplyr::mutate(anio_trimestre = "2017_Q4")

bd_2018_4t <- readxl::read_excel(archivo_2018_4t, col_types = "text") |>
  estandarizar_nombres() |>
  dplyr::mutate(anio_trimestre = "2018_Q4")

bd_2019_4t <- readxl::read_excel(archivo_2019_4t, col_types = "text") |>
  estandarizar_nombres() |>
  dplyr::mutate(anio_trimestre = "2019_Q4")

bd_2020_4t <- readxl::read_excel(archivo_2020_4t, col_types = "text") |>
  estandarizar_nombres() |>
  dplyr::mutate(anio_trimestre = "2020_Q4")

bd_2021_4t <- readxl::read_excel(archivo_2021_4t, col_types = "text") |>
  estandarizar_nombres() |>
  dplyr::mutate(anio_trimestre = "2021_Q4")

bd_2022_1t <- readxl::read_excel(archivo_2022_1t, col_types = "text") |>
  estandarizar_nombres() |>
  dplyr::mutate(anio_trimestre = "2022_Q1")

bd_2024_2t <- readxl::read_excel(archivo_2024_2t, col_types = "text") |>
  estandarizar_nombres() |>
  dplyr::mutate(anio_trimestre = "2024_Q2")

bd_2024_3t <- readxl::read_excel(archivo_2024_3t, col_types = "text") |>
  estandarizar_nombres() |>
  dplyr::mutate(anio_trimestre = "2024_Q3")

bd_2024_4t <- readxl::read_excel(archivo_2024_4t, col_types = "text") |>
  estandarizar_nombres() |>
  dplyr::mutate(anio_trimestre = "2024_Q4")

bd_2025_1t <- readxl::read_excel(archivo_2025_1t, col_types = "text") |>
  estandarizar_nombres() |>
  dplyr::mutate(anio_trimestre = "2025_Q1")

bd_2025_2t <- readxl::read_excel(archivo_2025_2t, col_types = "text") |>
  estandarizar_nombres() |>
  dplyr::mutate(anio_trimestre = "2025_Q2")

UNIFICACIÓN EN UN SOLO DATAFRAME

df_all <- dplyr::bind_rows(
  bd_2017_4t,
  bd_2018_4t,
  bd_2019_4t,
  bd_2020_4t,
  bd_2021_4t,
  bd_2022_1t,
  bd_2024_2t,
  bd_2024_3t,
  bd_2024_4t,
  bd_2025_1t,
  bd_2025_2t
)

Dejar sólo la información de los macrocentros de Nuevo León

macro_centros <- c("ALLENDE","SAN BERNABE","INDEPENDENCIA","LA ALIANZA","MONTE KRISTAL","SANTA FE")

df_macro <- df_all |>
  dplyr::mutate(centro_comunitario = stringr::str_to_upper(centro_comunitario)) |>
  dplyr::filter(centro_comunitario %in% macro_centros)

Variables de interés para pregunta de investigación

# Vector con las variables que necesitas
vars_interes <- c(
  "anio_trimestre",
  "centro_comunitario",
  "genero",
  "estado_civil",
  "escolaridad",
  "ocupacion",
  "edad",
  "taller",
  "aprendizajes_aplicaciones"
,  
  # Variables de satisfacción (si decides mantenerlas)
  "el_conocimiento_del_tallerista_o_instructor_sobre_el_tema_del_curso_taller",
  "el_contenido_o_temas_del_curso_taller",
  "trato_recibido_por_el_personal_que_labora_en_el_centro_comunitario",
  
  # Variables abiertas
  "comentario_curso",
  "curso_de_interes",
  "otro_taller_menciona",
  "sugerencia_general"
)

# Filtrar solo esas columnas
df_macro <- df_macro |> 
  dplyr::select(any_of(vars_interes))

Convertir variables numéricas a numéricas

# Convertir edad y las 5 variables de satisfacción a numéricas
df_macro <- df_macro |>
  mutate(
    edad = as.numeric(edad),
    el_conocimiento_del_tallerista_o_instructor_sobre_el_tema_del_curso_taller =
      as.numeric(el_conocimiento_del_tallerista_o_instructor_sobre_el_tema_del_curso_taller),
    el_contenido_o_temas_del_curso_taller =
      as.numeric(el_contenido_o_temas_del_curso_taller),
    trato_recibido_por_el_personal_que_labora_en_el_centro_comunitario =
      as.numeric(trato_recibido_por_el_personal_que_labora_en_el_centro_comunitario)
  )

Revisión de NA

na_summary <- df_macro |>
  summarise(across(everything(), ~sum(is.na(.))))

na_summary
## # A tibble: 1 × 16
##   anio_trimestre centro_comunitario genero estado_civil escolaridad ocupacion
##            <int>              <int>  <int>        <int>       <int>     <int>
## 1              0                  0      0            0        1521         0
## # ℹ 10 more variables: edad <int>, taller <int>,
## #   aprendizajes_aplicaciones <int>,
## #   el_conocimiento_del_tallerista_o_instructor_sobre_el_tema_del_curso_taller <int>,
## #   el_contenido_o_temas_del_curso_taller <int>,
## #   trato_recibido_por_el_personal_que_labora_en_el_centro_comunitario <int>,
## #   comentario_curso <int>, curso_de_interes <int>, otro_taller_menciona <int>,
## #   sugerencia_general <int>

Como taller y escolaridad tienen pocos NA, se ha decidido eliminar esas observaciones.

df_macro <- df_macro |> filter(!is.na(taller))
df_macro <- df_macro |> filter(!is.na(escolaridad))

Dado que las otras variables (de preguntas no textuales, tienen demasiados NA, estas se dejarán sin borrarse, sin embargo, no son fundamentales para el modelo, sólo para ver los estadísticos generales, entonces no debería afectar más)

Estandarización de las variables

df_macro <- df_macro |>
  mutate(
    genero = stri_trans_general(genero, "Latin-ASCII") |> tolower(),
    estado_civil = stri_trans_general(estado_civil, "Latin-ASCII") |> tolower(),
    escolaridad = stri_trans_general(escolaridad, "Latin-ASCII") |> tolower()
  )

Estandarización de estado civil

df_macro <- df_macro |>
  mutate(
    estado_civil = case_when(
      estado_civil %in% c("soltero","soltero(a)") ~ "Soltero(a)",
      estado_civil %in% c("casado","casado(a)") ~ "Casado(a)",
      estado_civil %in% c("divorciado","divorciado(a)") ~ "Divorciado(a)",
      estado_civil %in% c("viudo","viudo(a)") ~ "Viudo(a)",
      estado_civil %in% c("separado","separado(a)","esta separado(a)") ~ "Separado(a)",
      estado_civil %in% c("union libre","vive en union libre") ~ "Unión libre",
      TRUE ~ estado_civil
    )
  )

Creación de nueva variable tipo de taller en base a taller

df_macro <- df_macro |>
  mutate(
    taller = taller |> 
      stringi::stri_trans_general("Latin-ASCII") |> 
      tolower() |> 
      trimws(),

tipo_taller = case_when(

      # DEPORTIVO
      str_detect(taller, "zumba|acondicionamiento|fitness|gimnasio|gimnasia|karate|tae|kick|box|lucha|futbol|voleibol|basquet|atletismo|paratenis|tochito|tenis de mesa|pilates|yoga|aerobics|acrobacia|jumping") ~ "deportivo",

      # OFICIO
      str_detect(taller, "cocina|repost|pastel|panader|chocolat|salsas|cheese|mesa de postres|dulces regionales|norestense|decoracion|belleza|unas|barber|peluquer|corte|confeccion|carpinter|electric|mecanic|refriger|soldadur|manualidad|tejid|macrame|joyer|bisuter|drapeado|sandalias|serigraf|jabones|velas|globoflex|pasta flexible|huerto|jardiner|herbolar|articulos|figuras") ~ "oficio",

      # COMPUTACIÓN
      str_detect(taller, "excel|word|power point|office|comput|informat|scratch|programacion|redes sociales|inclusion digital|google apps|mantenimiento y reparacion de computadoras") ~ "computacion",

      # EDUCACIÓN 
      str_detect(taller, "ingles|lectura|escritura|lecto|apoyo escolar|tareas|educacion|estimulacion temprana|senas|alfabet|matematicas|lego|uanl|semestre|universidad ciudadana|licenciatura|maestria|prepa|bachillerato|inea") ~ "educacion",

      # SALUD
      str_detect(taller, "primeros auxilios|nutricion|medicina tradicional|autocuidado|rehabilitacion|masajes|jugos nutritivos") ~ "salud",

      # PSICOLOGÍA
      str_detect(taller, "psicolog|emocional|arteterapia|intervencion psicologica") ~ "psicologia",

      # COMUNIDAD
      str_detect(taller, "comunidad|lider|participacion|entre mujeres|club|voluntariado|tareas|educando con amor|ong") ~ "comunidad",

      # CULTURAL
      str_detect(taller, "pintura|dibujo|arte|plasticas|artesan|teatro|musica|guitarra|piano|acordeon|canto|danza|cineclub|ensamble") ~ "cultural",

      TRUE ~ "otro"
    ))
df_macro <- df_macro |>
  mutate(
    ocupacion_limpia = ocupacion |>
      stringi::stri_trans_general("Latin-ASCII") |>
      tolower() |>
      trimws(),

    ocupacion_categoria = case_when(

      # MENOR DE EDAD
      str_detect(ocupacion_limpia,
                 "bebe|bebé|nina|nino|niñ|independiente menor|kider|kinder|preescolar|primaria|2 anos|3 anos|4 anos|5 anos|6 anos|7 anos|8 anos") ~
        "menor_de_edad",

      # CUIDADO / DISCAPACIDAD
      str_detect(ocupacion_limpia,
                 "limitacion|discapacidad|impide trabajar|cuido|cuidar|cuidando|cuida a mi") ~
        "cuidado_de_familia",

      # ESTUDIANTE
      str_detect(ocupacion_limpia,
                 "estudiante|estudiando|prepa|preparatoria|secundaria|universidad|bachillerato|acabo de terminar prepa|escolar") ~
        "estudiante",

      # BUSCANDO TRABAJO
      str_detect(ocupacion_limpia,
                 "buscando trabajo|desocupado") ~
        "buscando_trabajo",

      # JUBILADO / PENSIONADO
      str_detect(ocupacion_limpia,
                 "pensionad|jubilad") ~
        "jubilado_pensionado",

      # NEGOCIO PROPIO / EMPRENDIMIENTO
      str_detect(ocupacion_limpia,
                 "auto empleo|negocio propio|negocios propios|por mi cuenta|emprend") ~
        "negocio_propio",

      # HOGAR / AMA DE CASA
      str_detect(ocupacion_limpia,
                 "ama de casa|amadecasa|ama casa|al hogar|hogar|quehaceres|estoy en mi casa|^casa$") ~
        "hogar",

      # EMPLEO (formal/informal)
      str_detect(ocupacion_limpia,
                 "trabaj|emplead|comerciante|repostera|maestra|artesana|banquetes|asociacion") ~
        "empleo",

      # SIN ACTIVIDAD CLARA / NULO
      str_detect(ocupacion_limpia,
                 "^nada$|^na$|^0$|^\\.$|^lo$") ~
        "otro",

      # DEFAULT
      TRUE ~ "otro"
    )
  )

Convertir variables character a factor

df_macro <- df_macro |> 
  mutate(
    genero = as.factor(genero),
    estado_civil = as.factor(estado_civil),
    escolaridad = as.factor(escolaridad),
    ocupacion_categoria = as.factor(ocupacion_categoria),
    taller_categoria = as.factor(tipo_taller),
    centro_comunitario = as.factor(centro_comunitario),
    anio_trimestre = as.factor(anio_trimestre)
  )

EXTRACCIÓN DE RESPUESTAS TEXTUALES

df_comentario_curso <- df_macro |>
  select(anio_trimestre, centro_comunitario, tipo_taller, comentario_curso) |>
  filter(!is.na(comentario_curso) & comentario_curso != "")

df_curso_de_interes <- df_macro |>
  select(anio_trimestre, centro_comunitario, tipo_taller, curso_de_interes) |>
  filter(!is.na(curso_de_interes) & curso_de_interes != "")

df_otro_taller_menciona <- df_macro |>
  select(anio_trimestre, centro_comunitario, tipo_taller, otro_taller_menciona) |>
  filter(!is.na(otro_taller_menciona) & otro_taller_menciona != "")

df_sugerencia_general <- df_macro |>
  select(anio_trimestre, centro_comunitario, tipo_taller, sugerencia_general) |>
  filter(!is.na(sugerencia_general) & sugerencia_general != "")

df_taller <- df_macro |>
  select(anio_trimestre, centro_comunitario, tipo_taller, taller) |>
  filter(!is.na(taller) & taller != "")

Eliminar variables que ya no se necesitan

df_macro <- df_macro |>
  select(
    -comentario_curso,
    -curso_de_interes,
    -otro_taller_menciona,
    -sugerencia_general,
    -ocupacion_limpia
  )

4. Metodología y Procesos de Ciencia de Datos

REVISIÓN DE ESTADÍSTICOS GENERALES

Conteo general

n_total <- nrow(df_macro)

ANÁLISIS DE RESPUESTAS TEXTUALES

ANÁLISIS DE SENTIMIENTOS

MODELOS

5. Resultados y Visualización Técnica

REVISIÓN DE ESTADÍSTICOS GENERALES

Conteo general

n_total
## [1] 11863

Frecuencias absolutas de variables categóricas

cat("GENERO\n")
## GENERO
print(table(df_macro$genero))
## 
##            femenino           masculino prefiero no decirlo 
##                9263                2587                  13
cat("\n\n")
cat("ESTADO CIVIL\n")
## ESTADO CIVIL
print(table(df_macro$estado_civil))
## 
##     Casado(a) Divorciado(a)   Separado(a)    Soltero(a)   Unión libre 
##          4876           361           279          4873          1106 
##      Viudo(a) 
##           368
cat("\n\n")
cat("ESCOLARIDAD\n")
## ESCOLARIDAD
print(table(df_macro$escolaridad))
## 
##   carrera tecnica o comercial completa carrera tecnica o comercial incompleta 
##                                   1000                                    235 
##                                ninguno                        normal completa 
##                                    174                                    140 
##                      normal incompleta                      posgrado completo 
##                                     14                                     97 
##                    posgrado incompleto           preescolar o kinder completo 
##                                     39                                    123 
##         preescolar o kinder incompleto   preparatoria o bachillerato completo 
##                                    168                                   1701 
## preparatoria o bachillerato incompleto                      primaria completa 
##                                   1042                                    676 
##                    primaria incompleta                    secundaria completa 
##                                   1411                                   2926 
##                  secundaria incompleta                   universidad completa 
##                                    771                                    982 
##                 universidad incompleta 
##                                    364
cat("\n\n")
cat("CENTRO COMUNITARIO\n")
## CENTRO COMUNITARIO
print(table(df_macro$centro_comunitario))
## 
##       ALLENDE INDEPENDENCIA    LA ALIANZA MONTE KRISTAL   SAN BERNABE 
##           494           815          1693          2094          5068 
##      SANTA FE 
##          1699
cat("\n\n")
cat("TIPO DE TALLER\n")
## TIPO DE TALLER
print(table(df_macro$tipo_taller))
## 
## computacion   comunidad    cultural   deportivo   educacion      oficio 
##         414          67         475        3931        1660        3437 
##        otro  psicologia       salud 
##        1437         386          56
cat("\n\n")
cat("OCUPACION CATEGORIA\n")
## OCUPACION CATEGORIA
print(table(df_macro$ocupacion_categoria))
## 
##    buscando_trabajo  cuidado_de_familia              empleo          estudiante 
##                 531                  69                1903                3767 
##               hogar jubilado_pensionado       menor_de_edad      negocio_propio 
##                4572                 480                  44                  47 
##                otro 
##                 450
cat("\n\n")

Frecuencias relativas

cat("GENERO\n")
## GENERO
prop.table(table(df_macro$genero))
## 
##            femenino           masculino prefiero no decirlo 
##         0.780831156         0.218073000         0.001095844
cat("\n\n")
cat("ESTADO CIVIL\n")
## ESTADO CIVIL
prop.table(table(df_macro$estado_civil))
## 
##     Casado(a) Divorciado(a)   Separado(a)    Soltero(a)   Unión libre 
##    0.41102588    0.03043075    0.02351850    0.41077299    0.09323105 
##      Viudo(a) 
##    0.03102082
cat("\n\n")
cat("ESCOLARIDAD\n")
## ESCOLARIDAD
prop.table(table(df_macro$escolaridad))
## 
##   carrera tecnica o comercial completa carrera tecnica o comercial incompleta 
##                            0.084295709                            0.019809492 
##                                ninguno                        normal completa 
##                            0.014667453                            0.011801399 
##                      normal incompleta                      posgrado completo 
##                            0.001180140                            0.008176684 
##                    posgrado incompleto           preescolar o kinder completo 
##                            0.003287533                            0.010368372 
##         preescolar o kinder incompleto   preparatoria o bachillerato completo 
##                            0.014161679                            0.143387002 
## preparatoria o bachillerato incompleto                      primaria completa 
##                            0.087836129                            0.056983900 
##                    primaria incompleta                    secundaria completa 
##                            0.118941246                            0.246649246 
##                  secundaria incompleta                   universidad completa 
##                            0.064991992                            0.082778387 
##                 universidad incompleta 
##                            0.030683638
cat("\n\n")
cat("TIPO DE TALLER\n")
## TIPO DE TALLER
prop.table(table(df_macro$tipo_taller))
## 
## computacion   comunidad    cultural   deportivo   educacion      oficio 
## 0.034898424 0.005647813 0.040040462 0.331366433 0.139930878 0.289724353 
##        otro  psicologia       salud 
## 0.121132934 0.032538144 0.004720560
cat("\n\n")
cat("OCUPACION CATEGORIA\n")
## OCUPACION CATEGORIA
prop.table(table(df_macro$ocupacion_categoria))
## 
##    buscando_trabajo  cuidado_de_familia              empleo          estudiante 
##         0.044761022         0.005816404         0.160414735         0.317541937 
##               hogar jubilado_pensionado       menor_de_edad      negocio_propio 
##         0.385399983         0.040461940         0.003709011         0.003961898 
##                otro 
##         0.037933069
cat("\n\n")

ANÁLISIS DE RESPUESTAS TEXTUALES

ANÁLISIS DE SENTIMIENTOS

MODELOS

6. Derivación de Recomendaciones

Sección crítica donde se explica explícitamente cuáles resultados técnicos (ej. un coeficiente, un clúster o un tópico) y cómo estos, sustentan las recomendaciones que se presentarán al socio formador.