Librerías

para el desarrollo del Análisis de Correspondencias Múltiples (ACM) se utilizan principalmente dos paqueterías especializadas: FactoMineR() y factoextra(). La primera permite ejecutar el análisis estadístico y obtener los resultados numéricos, mientras que la segunda facilita la visualización e interpretación gráfica de dichos resultados, apoyándose a su vez en la librería ggplot2() para generar gráficos de alta calidad.

library(readxl)
library(FactoMineR)
library(factoextra)
## Cargando paquete requerido: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
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(naniar)

Carga de los datos

A continuación, se procede a cargar la base de datos en el software R, la cual contiene la información correspondiente a los resultados de las pruebas ICFES de estudiantes de la ciudad de Santa Marta, junto con diversas variables sociodemográficas y académicas que pueden influir en el desempeño obtenido. Esta base de datos fue suministrada en formato Excel y posteriormente organizada para su análisis. Antes de iniciar el tratamiento estadístico, se realizó una revisión y estandarización de las variables, verificando sus codificaciones, niveles de respuesta y posibles valores perdidos, con el fin de garantizar la calidad y consistencia de los datos utilizados en el análisis de correspondencia múltiple.

df<-read_excel("C:/Users/ASUS/Downloads/BASE_DE_DATOS_FINALIZADA.xlsx")
View(df)
str(df)
## tibble [8,492 × 58] (S3: tbl_df/tbl/data.frame)
##  $ AÑO                                       : num [1:8492] 2022 2023 2024 2022 2023 ...
##  $ estu_consecutivo                          : chr [1:8492] "SB11202240113664" "SB11202340081450" "SB11202430470071" "SB11202240173126" ...
##  $ INSTITUCIÓN                               : chr [1:8492] "SEDE 05 ESCUELA URBANA MIXTA YUCAL N:2" "SEDE 01  EDGARDO VIVES CAMPO" "SEDE 01 LAURA VICUNA" "SEDE 01 LICEO DEL NORTE" ...
##  $ JORNADA                                   : chr [1:8492] "TARDE" "TARDE" "TARDE" "TARDE" ...
##  $ LECTURA CRÍTICA (ICFES)                   : num [1:8492] 60 69 61 36 62 57 60 61 61 61 ...
##  $ MATEMATICAS (ICFES)                       : num [1:8492] 70 67 63 40 57 62 55 41 58 52 ...
##  $ SOCIALES Y CIUDADANAS (ICFES)             : num [1:8492] 65 72 61 44 57 62 52 54 51 42 ...
##  $ CIENCIAS NATURALES (ICFES)                : num [1:8492] 57 69 59 49 60 58 48 47 53 36 ...
##  $ INGLES (ICFES)                            : num [1:8492] 65 80 56 55 52 63 50 62 49 41 ...
##  $ PUNTAJE GLOBAL (ICFES)                    : num [1:8492] 316 350 303 216 292 300 267 258 276 236 ...
##  $ GRUPO Y JORNADA.1_estandarizada           : num [1:8492] 1 1 6 4 3 1 1 1 1 1 ...
##  $ CASTELLANO_100                            : num [1:8492] 100 100 100 100 100 100 100 100 100 100 ...
##  $ MATEMATICA_100                            : num [1:8492] 95 95 87.6 85 85 77 72 72 72 68 ...
##  $ CIENCIAS SOCIALES_100                     : num [1:8492] 98 92 86.3 89 82 92 83 82 73 85 ...
##  $ CIENCIAS (FISICA - QUIMICA - BIOLOGIA)_100: num [1:8492] 89 84 85.1 91 85 80 71 70 74 67 ...
##  $ INGLES_100                                : num [1:8492] 93 89 80.3 88 88 83 82 82 78 73 ...
##  $ Promedio Calificaciones                   : num [1:8492] 95 92 87.9 90.6 88 ...
##  $ Puntaje ponderado                         : num [1:8492] 477 462 445 455 440 ...
##  $ cole_area_ubicacion                       : chr [1:8492] "URBANO" "URBANO" "URBANO" "URBANO" ...
##  $ cole_calendario                           : chr [1:8492] "A" "A" "A" "A" ...
##  $ cole_caracter                             : chr [1:8492] "TÉCNICO/ACADÉMICO" "ACADÉMICO" "ACADÉMICO" "ACADÉMICO" ...
##  $ cole_cod_dane_establecimiento             : num [1:8492] 1.47e+11 1.47e+11 1.47e+11 1.47e+11 1.47e+11 ...
##  $ cole_cod_dane_sede                        : num [1:8492] 2.47e+11 1.47e+11 1.47e+11 1.47e+11 1.47e+11 ...
##  $ cole_codigo_icfes                         : num [1:8492] 660100 108613 77289 191577 37945 ...
##  $ cole_nombre_establecimiento               : chr [1:8492] "INSTITUCION EDUCATIVA DISTRITAL ONCE DE NOVIEMBRE" "IED EDGARDO VIVES CAMPO" "IED LAURA VICUNA" "IED LICEO DEL NORTE" ...
##  $ desemp_ingles                             : chr [1:8492] "A2" "B+" "A1" "A1" ...
##  $ estu_dedicacioninternet                   : chr [1:8492] "Entre 30 y 60 minutos" "Entre 30 y 60 minutos" "Entre 30 y 60 minutos" "Entre 30 y 60 minutos" ...
##  $ estu_dedicacioninternet_num               : num [1:8492] 2 2 2 2 4 4 4 4 3 3 ...
##  $ estu_dedicacionlecturadiaria              : chr [1:8492] "Entre 30 y 60 minutos" "Entre 1 y 2 horas" "30 minutos o menos" "Entre 30 y 60 minutos" ...
##  $ estu_dedicacionlecturadiaria_num          : num [1:8492] 2 3 1 2 2 3 2 1 1 1 ...
##  $ estu_discapacidad                         : chr [1:8492] "N" "N" "N" "N" ...
##  $ estu_etnia                                : chr [1:8492] "No aplica" "No aplica" "No aplica" "No aplica" ...
##  $ estu_fechanacimiento                      : POSIXct[1:8492], format: "2006-12-03" "2006-08-26" ...
##  $ edad_prueba                               : num [1:8492] 15 16 16 17 16 15 16 16 16 15 ...
##  $ estu_genero                               : chr [1:8492] "M" "F" "F" "F" ...
##  $ estu_horassemanatrabaja                   : chr [1:8492] "0" "0" "0" "0" ...
##  $ estu_horassemanatrabaja_num               : num [1:8492] 0 0 0 0 0 0 0 1 0 0 ...
##  $ estu_mcpio_presentacion                   : chr [1:8492] "SANTA MARTA" "SANTA MARTA" "SANTA MARTA" "SANTA MARTA" ...
##  $ estu_nacionalidad                         : chr [1:8492] "COLOMBIA" "COLOMBIA" "COLOMBIA" "VENEZUELA" ...
##  $ estu_pais_reside                          : chr [1:8492] "COLOMBIA" "COLOMBIA" "COLOMBIA" "VENEZUELA" ...
##  $ estu_repite                               : num [1:8492] 0 0 0 0 0 ...
##  $ estu_tieneetnia                           : chr [1:8492] "No" "No" "No" "No" ...
##  $ fami_educacionmadre                       : chr [1:8492] "Secundaria (Bachillerato) completa" "Técnica o tecnológica completa" "Secundaria (Bachillerato) completa" "Educación profesional completa" ...
##  $ fami_educacionmadre_num                   : num [1:8492] 4 6 4 8 2 6 6 6 5 3 ...
##  $ fami_educacionpadre                       : chr [1:8492] "Secundaria (Bachillerato) incompleta" "Educación profesional incompleta" "Secundaria (Bachillerato) completa" "Educación profesional completa" ...
##  $ fami_educacionpadre_num                   : num [1:8492] 3 7 4 8 8 10 6 6 4 4 ...
##  $ fami_estratovivienda                      : chr [1:8492] "Estrato 1" "Estrato 2" "Estrato 1" "Estrato 3" ...
##  $ fami_tieneinternet                        : chr [1:8492] "Si" "Si" "Si" "No" ...
##  $ fami_trabajolabormadre                    : chr [1:8492] "Trabaja como personal de limpieza, mantenimiento, seguridad o construcción" NA "Trabaja en el hogar, no trabaja o estudia" "Tiene un trabajo de tipo auxiliar administrativo (por ejemplo, secretario o asistente)" ...
##  $ fami_trabajolabormadre_num                : num [1:8492] 2 11 0 6 10 5 11 7 8 11 ...
##  $ fami_trabajolaborpadre                    : chr [1:8492] "Trabaja como personal de limpieza, mantenimiento, seguridad o construcción" NA "Es operario de máquinas o conduce vehículos (taxita, chofer)" "Pensionado" ...
##  $ fami_trabajolaborpadre_num                : num [1:8492] 2 11 4 1 0 12 11 11 12 11 ...
##  $ percentil_c_naturales                     : num [1:8492] 76 96 76 54 81 79 48 45 65 9 ...
##  $ percentil_global                          : num [1:8492] 88 97 80 29 76 82 63 57 69 43 ...
##  $ percentil_ingles                          : num [1:8492] 87 98 68 67 58 84 53 83 52 29 ...
##  $ percentil_lectura_critica                 : num [1:8492] 73 94 76 6 79 64 73 77 77 75 ...
##  $ percentil_matematicas                     : num [1:8492] 95 90 78 21 66 82 62 23 71 52 ...
##  $ percentil_sociales_ciudadanas             : num [1:8492] 92 98 83 41 74 87 63 69 60 35 ...

Preparacion de los datos

En esta etapa se realizó la selección de las variables de interés relacionadas con los factores sociodemográficos y académicos que podrían influir en los resultados de las pruebas ICFES. Asimismo, se efectuó una limpieza y transformación de los datos, ajustando los nombres de las columnas para facilitar su análisis posterior.

df_mca <- df %>%
  select(AÑO,
         JORNADA,
         `GRUPO Y JORNADA.1_estandarizada`,
         cole_area_ubicacion,
         cole_caracter,
         desemp_ingles,
         estu_dedicacioninternet,
         estu_dedicacionlecturadiaria,
         estu_discapacidad,
         edad_prueba,
         estu_genero,
         estu_horassemanatrabaja,
         estu_mcpio_presentacion,
         estu_nacionalidad,
         estu_tieneetnia,
         fami_estratovivienda,
         fami_tieneinternet
  )

Posteriormente, se realizó una revisión de la estructura de las variables de interés con el fin de verificar que cada una de ellas tuviera el tipo de dato adecuado para el análisis de correspondencias múltiples.

str(df_mca)
## tibble [8,492 × 17] (S3: tbl_df/tbl/data.frame)
##  $ AÑO                            : num [1:8492] 2022 2023 2024 2022 2023 ...
##  $ JORNADA                        : chr [1:8492] "TARDE" "TARDE" "TARDE" "TARDE" ...
##  $ GRUPO Y JORNADA.1_estandarizada: num [1:8492] 1 1 6 4 3 1 1 1 1 1 ...
##  $ cole_area_ubicacion            : chr [1:8492] "URBANO" "URBANO" "URBANO" "URBANO" ...
##  $ cole_caracter                  : chr [1:8492] "TÉCNICO/ACADÉMICO" "ACADÉMICO" "ACADÉMICO" "ACADÉMICO" ...
##  $ desemp_ingles                  : chr [1:8492] "A2" "B+" "A1" "A1" ...
##  $ estu_dedicacioninternet        : chr [1:8492] "Entre 30 y 60 minutos" "Entre 30 y 60 minutos" "Entre 30 y 60 minutos" "Entre 30 y 60 minutos" ...
##  $ estu_dedicacionlecturadiaria   : chr [1:8492] "Entre 30 y 60 minutos" "Entre 1 y 2 horas" "30 minutos o menos" "Entre 30 y 60 minutos" ...
##  $ estu_discapacidad              : chr [1:8492] "N" "N" "N" "N" ...
##  $ edad_prueba                    : num [1:8492] 15 16 16 17 16 15 16 16 16 15 ...
##  $ estu_genero                    : chr [1:8492] "M" "F" "F" "F" ...
##  $ estu_horassemanatrabaja        : chr [1:8492] "0" "0" "0" "0" ...
##  $ estu_mcpio_presentacion        : chr [1:8492] "SANTA MARTA" "SANTA MARTA" "SANTA MARTA" "SANTA MARTA" ...
##  $ estu_nacionalidad              : chr [1:8492] "COLOMBIA" "COLOMBIA" "COLOMBIA" "VENEZUELA" ...
##  $ estu_tieneetnia                : chr [1:8492] "No" "No" "No" "No" ...
##  $ fami_estratovivienda           : chr [1:8492] "Estrato 1" "Estrato 2" "Estrato 1" "Estrato 3" ...
##  $ fami_tieneinternet             : chr [1:8492] "Si" "Si" "Si" "No" ...
View(df_mca)

Dicho resumen permitió identificar que las variables fueron reconocidas por R como tipo integer o character, sin embargo, para incluirlas en el análisis de correspondencias múltiples (MCA) fue necesario transformarlas al tipo factor. Para ello, se utilizó el comando as.factor(), el cual convierte las variables categóricas al formato adecuado para este tipo de análisis.

df$AÑO<-as.factor(df$AÑO)
df$`GRUPO Y JORNADA.1_estandarizada`<-as.factor(df$`GRUPO Y JORNADA.1_estandarizada`)
df$estu_repite<-as.numeric(as.character(df$estu_repite))
df$edad_prueba <- as.numeric(as.character(df$edad_prueba))
df[c("cole_area_ubicacion", "cole_caracter", "desemp_ingles",
     "estu_dedicacioninternet","estu_dedicacionlecturadiaria",
     "estu_discapacidad","estu_genero","estu_horassemanatrabaja",
     "estu_mcpio_presentacion", "estu_nacionalidad", "estu_tieneetnia","fami_estratovivienda",
     "fami_tieneinternet")] <-
  lapply(df[c("cole_area_ubicacion", "cole_caracter", "desemp_ingles",
              "estu_dedicacioninternet","estu_dedicacionlecturadiaria",
              "estu_discapacidad","estu_genero","estu_horassemanatrabaja",
              "estu_mcpio_presentacion", "estu_nacionalidad", "estu_tieneetnia","fami_estratovivienda",
              "fami_tieneinternet")], as.factor)


levels(df$AÑO)<-c("2022","2023","2024")
levels(df$`GRUPO Y JORNADA.1_estandarizada`)<-c("A","B","C","D","E","F","G","H","I")
df$estu_repite <- cut(df$estu_repite,
                      breaks = c(0, 1, 300000),
                      labels = c("0", "1-300000"),
                      include.lowest = TRUE)


df$edad_pruebas <- cut(df$edad_prueba,
                       breaks = c(12, 14, 17, 20, 22),
                       labels = c("12-14", "15-17", "18-20", "21-22"),
                       include.lowest = TRUE)

  

df_mca[] <- lapply(df_mca, as.factor)
lapply(df_mca, levels)
## $AÑO
## [1] "2022" "2023" "2024"
## 
## $JORNADA
## [1] "MAÑANA" "TARDE"  "UNICA" 
## 
## $`GRUPO Y JORNADA.1_estandarizada`
## [1] "1" "2" "3" "4" "5" "6" "7" "8" "9"
## 
## $cole_area_ubicacion
## [1] "RURAL"  "URBANO"
## 
## $cole_caracter
## [1] "ACADÉMICO"         "NO APLICA"         "TÉCNICO"          
## [4] "TÉCNICO/ACADÉMICO"
## 
## $desemp_ingles
## [1] "A-" "A1" "A2" "B+" "B1"
## 
## $estu_dedicacioninternet
## [1] "30 minutos o menos"    "Entre 1 y 3 horas"     "Entre 30 y 60 minutos"
## [4] "Más de 3 horas"        "No Navega Internet"   
## 
## $estu_dedicacionlecturadiaria
## [1] "30 minutos o menos"         "Entre 1 y 2 horas"         
## [3] "Entre 30 y 60 minutos"      "Más de 2 horas"            
## [5] "No leo por entretenimiento"
## 
## $estu_discapacidad
## [1] "N" "S"
## 
## $edad_prueba
##  [1] "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22"
## 
## $estu_genero
## [1] "F" "M"
## 
## $estu_horassemanatrabaja
## [1] "0"                   "Entre 11 y 20 horas" "Entre 21 y 30 horas"
## [4] "Más de 30 horas"     "Menos de 10 horas"  
## 
## $estu_mcpio_presentacion
## [1] "CIÉNAGA"     "SANTA MARTA"
## 
## $estu_nacionalidad
## [1] "COLOMBIA"  "PERÚ"      "VANUATU"   "VENEZUELA"
## 
## $estu_tieneetnia
## [1] "No" "Si"
## 
## $fami_estratovivienda
## [1] "Estrato 1"   "Estrato 2"   "Estrato 3"   "Estrato 4"   "Estrato 5"  
## [6] "Estrato 6"   "Sin Estrato"
## 
## $fami_tieneinternet
## [1] "No" "Si"

Ahora se realiza una revisión gráfica de la distribución de las variables seleccionadas. Para ello, se utiliza el comando for(), que permite repetir un mismo proceso sobre todas las variables, generando así una visualización rápida de su comportamiento dentro del conjunto de datos.

df_mca<-na.omit(df_mca)
for (i in 1:17){
  plot(df_mca[,i],main=colnames(df_mca)[i],
       ylab="Cantidad", col="steelblue", las=2)
}

A partir de estas gráficas se identificaron las opciones de respuesta o categorías con menor frecuencia dentro de las variables sociodemográficas y académicas. Sin embargo, se decidió mantener todas las variables y sus categorías, ya que cada una aporta información relevante para comprender la relación entre los factores sociodemográficos y los resultados obtenidos en las pruebas ICFES.

##Analisis inicial de MCA

mca_result <- MCA(df_mca, graph = FALSE)
summary(mca_result)
## 
## Call:
## MCA(X = df_mca, graph = FALSE) 
## 
## 
## Eigenvalues
##                        Dim.1   Dim.2   Dim.3   Dim.4   Dim.5   Dim.6   Dim.7
## Variance               0.109   0.096   0.086   0.077   0.073   0.070   0.069
## % of var.              3.375   2.962   2.652   2.377   2.257   2.164   2.143
## Cumulative % of var.   3.375   6.337   8.990  11.366  13.623  15.787  17.930
##                        Dim.8   Dim.9  Dim.10  Dim.11  Dim.12  Dim.13  Dim.14
## Variance               0.067   0.066   0.065   0.065   0.064   0.064   0.063
## % of var.              2.060   2.038   2.017   2.002   1.987   1.963   1.944
## Cumulative % of var.  19.990  22.028  24.045  26.047  28.033  29.996  31.941
##                       Dim.15  Dim.16  Dim.17  Dim.18  Dim.19  Dim.20  Dim.21
## Variance               0.062   0.062   0.062   0.061   0.061   0.060   0.060
## % of var.              1.930   1.925   1.907   1.891   1.877   1.869   1.866
## Cumulative % of var.  33.871  35.795  37.703  39.593  41.470  43.339  45.205
##                       Dim.22  Dim.23  Dim.24  Dim.25  Dim.26  Dim.27  Dim.28
## Variance               0.060   0.060   0.059   0.059   0.059   0.058   0.058
## % of var.              1.857   1.853   1.829   1.825   1.819   1.805   1.794
## Cumulative % of var.  47.063  48.916  50.745  52.570  54.388  56.193  57.987
##                       Dim.29  Dim.30  Dim.31  Dim.32  Dim.33  Dim.34  Dim.35
## Variance               0.058   0.058   0.057   0.057   0.057   0.056   0.056
## % of var.              1.789   1.783   1.762   1.755   1.747   1.736   1.734
## Cumulative % of var.  59.776  61.559  63.322  65.077  66.824  68.560  70.294
##                       Dim.36  Dim.37  Dim.38  Dim.39  Dim.40  Dim.41  Dim.42
## Variance               0.056   0.055   0.055   0.054   0.054   0.053   0.053
## % of var.              1.718   1.713   1.694   1.681   1.656   1.647   1.635
## Cumulative % of var.  72.012  73.725  75.420  77.100  78.756  80.403  82.038
##                       Dim.43  Dim.44  Dim.45  Dim.46  Dim.47  Dim.48  Dim.49
## Variance               0.052   0.052   0.051   0.051   0.050   0.049   0.047
## % of var.              1.619   1.606   1.580   1.568   1.548   1.530   1.445
## Cumulative % of var.  83.657  85.263  86.843  88.411  89.959  91.488  92.933
##                       Dim.50  Dim.51  Dim.52  Dim.53  Dim.54  Dim.55
## Variance               0.044   0.041   0.040   0.036   0.035   0.032
## % of var.              1.364   1.274   1.241   1.118   1.096   0.975
## Cumulative % of var.  94.297  95.570  96.812  97.929  99.025 100.000
## 
## Individuals (the 10 first)
##           Dim.1    ctr   cos2    Dim.2    ctr   cos2    Dim.3    ctr   cos2  
## 1      | -0.219  0.006  0.021 |  0.050  0.000  0.001 |  0.159  0.004  0.011 |
## 2      | -0.479  0.028  0.031 | -0.131  0.002  0.002 |  0.185  0.005  0.005 |
## 3      | -0.236  0.007  0.018 | -0.263  0.009  0.022 | -0.209  0.007  0.014 |
## 4      |  0.153  0.003  0.005 | -0.183  0.005  0.008 | -0.476  0.035  0.053 |
## 5      | -0.272  0.009  0.042 | -0.430  0.025  0.104 |  0.255  0.010  0.037 |
## 6      | -0.600  0.043  0.143 | -0.124  0.002  0.006 |  0.426  0.028  0.072 |
## 7      | -0.244  0.007  0.055 | -0.136  0.003  0.017 |  0.232  0.008  0.050 |
## 8      | -0.174  0.004  0.020 | -0.043  0.000  0.001 |  0.093  0.001  0.006 |
## 9      | -0.307  0.011  0.081 |  0.061  0.001  0.003 | -0.003  0.000  0.000 |
## 10     | -0.184  0.004  0.019 | -0.112  0.002  0.007 |  0.249  0.009  0.034 |
## 
## Categories (the 10 first)
##            Dim.1     ctr    cos2  v.test     Dim.2     ctr    cos2  v.test  
## 2022   |   0.058   0.061   0.002   3.582 |  -0.209   0.887   0.022 -12.838 |
## 2023   |  -0.011   0.002   0.000  -0.739 |   0.202   0.891   0.023  13.111 |
## 2024   |  -0.049   0.040   0.001  -2.871 |  -0.009   0.001   0.000  -0.511 |
## MAÑANA |   0.138   0.320   0.009   8.111 |  -0.344   2.255   0.053 -20.168 |
## TARDE  |  -0.163   0.600   0.019 -12.079 |  -0.427   4.660   0.130 -31.523 |
## UNICA  |   0.093   0.126   0.003   4.948 |   1.047  18.302   0.410  55.904 |
## 1      |   0.367   2.935   0.092  26.426 |  -0.085   0.180   0.005  -6.123 |
## 2      |   0.014   0.003   0.000   0.717 |  -0.262   1.115   0.025 -13.730 |
## 3      |  -0.171   0.258   0.006  -6.615 |  -0.105   0.111   0.002  -4.069 |
## 4      |  -0.444   0.853   0.017 -11.461 |   0.752   2.786   0.049  19.406 |
##          Dim.3     ctr    cos2  v.test  
## 2022    -0.006   0.001   0.000  -0.392 |
## 2023     0.002   0.000   0.000   0.104 |
## 2024     0.005   0.001   0.000   0.290 |
## MAÑANA   0.424   3.827   0.081  24.863 |
## TARDE   -0.404   4.672   0.117 -29.871 |
## UNICA    0.136   0.343   0.007   7.238 |
## 1        0.493   6.753   0.165  35.534 |
## 2       -0.452   3.707   0.074 -23.691 |
## 3       -0.058   0.038   0.001  -2.261 |
## 4       -0.305   0.512   0.008  -7.868 |
## 
## Categorical variables (eta2)
##                                   Dim.1 Dim.2 Dim.3  
## AÑO                             | 0.002 0.029 0.000 |
## JORNADA                         | 0.019 0.411 0.129 |
## GRUPO Y JORNADA.1_estandarizada | 0.176 0.190 0.189 |
## cole_area_ubicacion             | 0.243 0.097 0.263 |
## cole_caracter                   | 0.131 0.456 0.283 |
## desemp_ingles                   | 0.306 0.025 0.031 |
## estu_dedicacioninternet         | 0.172 0.024 0.041 |
## estu_dedicacionlecturadiaria    | 0.045 0.033 0.085 |
## estu_discapacidad               | 0.000 0.000 0.000 |
## edad_prueba                     | 0.138 0.029 0.143 |

Visualización e interpretación inicial del análisis MCA

Una de las características centrales de la técnica MCA (Análisis de Correspondencias Múltiples) es el uso de representaciones visuales que facilitan la interpretación de los resultados. Estas gráficas permiten observar la relación entre las categorías de las variables sociodemográficas y los desempeños en las pruebas ICFES, mostrando cómo ciertos grupos de estudiantes tienden a agruparse según características comunes o niveles de rendimiento.

Eigenvalores / varianzas

Siguiendo la lógica del Análisis de Componentes Principales (ACP), que busca reducir las dimensiones de un conjunto de datos creando nuevos ejes o componentes que resumen la información de las variables cuantitativas, el Análisis de Correspondencias Múltiples (ACM) aplica el mismo principio, pero a variables categóricas.

En este caso, el ACM permite representar las categorías de las variables sociodemográficas y académicas de los estudiantes en un espacio común, facilitando la detección de patrones y asociaciones entre ellas.

Una vez generadas las nuevas dimensiones, es fundamental identificar qué porcentaje de la variabilidad total es explicado por cada una. Esto se logra mediante la función get_eigenvalue(), que permite observar la proporción de varianza o inercia explicada por cada eje del análisis.

eigenvalues <- get_eigenvalue(mca_result)
head(eigenvalues)
##       eigenvalue variance.percent cumulative.variance.percent
## Dim.1 0.10919401         3.375088                    3.375088
## Dim.2 0.09583419         2.962148                    6.337235
## Dim.3 0.08581457         2.652450                    8.989686
## Dim.4 0.07688688         2.376504                   11.366189
## Dim.5 0.07300806         2.256613                   13.622802
## Dim.6 0.07001307         2.164040                   15.786842

En la tabla anterior se observan, en las columnas, los nuevos componentes o dimensiones generados por el análisis de correspondencia múltiple (ACM). En la primera columna se presentan los eigenvalores, que representan la cantidad de varianza o inercia explicada por cada eje. La segunda columna indica el porcentaje de varianza total explicado por cada una de las dimensiones, y la tercera muestra el porcentaje acumulado, que refleja la proporción de información que logran resumir los primeros ejes del análisis.

Además, para facilitar la interpretación visual, se puede emplear el comando fviz_screeplot(), el cual permite graficar los porcentajes de inercia explicados por cada dimensión. Este gráfico, conocido como “scree plot”, ayuda a identificar cuántas dimensiones aportan información significativa al modelo y cuáles tienen un peso menor en la explicación de la variabilidad total del conjunto de datos.

fviz_screeplot(mca_result, addlabels = TRUE, ylim = c(0, 10),title = "Análisis de Correspondencias Múltiples (ACM)")
## Warning in geom_bar(stat = "identity", fill = barfill, color = barcolor, :
## Ignoring empty aesthetic: `width`.
*Scree plot* o porcentajes de inercia explicada por cada dimensión nueva.

Scree plot o porcentajes de inercia explicada por cada dimensión nueva.

Biplot o gráfica de individuos y variables

El análisis MCA permite crear un biplot, que representa gráficamente una nube de puntos para los individuos (filas) y otra para las variables (columnas) contenidas en la matriz de datos. l biplot se genera con el comando fviz_mca_biplot(), del paquete factoextra, el cual utiliza las funciones gráficas de ggplot2 para su elaboración.

fviz_mca_biplot(mca_result, # resultados del análisis MCA
               label = "none",
               alpha.ind = 0.1, # nivel de transparencia de los puntos filas o casos
               alpha.var = 1, # nivel de transparencia de los puntos columa o variables
               max.overlaps = "ggrepel.max.overlaps",
               ggtheme = theme_minimal()) # plantilla de estilo para la gráfica
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `max.overlaps`
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `max.overlaps`
 Biplot o gráfica con la proyección de individuos y variables.

Biplot o gráfica con la proyección de individuos y variables.

El biplot representa simultáneamente a los individuos y las variables, mostrando su distribución sobre los ejes del análisis. En la gráfica, los individuos aparecen como puntos azules y las variables como triángulos rojos. Esta visualización permite identificar las relaciones y asociaciones entre las variables categóricas y su vínculo con los individuos. La distancia entre los puntos refleja su grado de similitud: los individuos cercanos presentan características similares, mientras que las modalidades próximas están asociadas a los mismos grupos de individuos o a individuos con comportamientos parecidos.

Descripción de las dimensiones

En este análisis de correspondencias, es posible identificar el grado de correlación entre las variables y sus categorías con cada una de las dimensiones construidas. Esto permite determinar qué variables tienen mayor influencia en cada eje del resumen. Para realizar este análisis se emplea el comando dimdesc(), perteneciente a la librería FactoMineR.

res.desc<-dimdesc(mca_result, 
                  axes = c(1,2) #definición de los ejes o dimensiones a describir
                  )

Este comando genera un objeto tipo lista que almacena los valores de correlación de las variables con las dimensiones seleccionadas. Luego, se extraen dichos valores y se presentan en dos tablas por dimensión: una muestra la relación de cada variable mediante el coeficiente de determinación (R²) y su p-value, mientras que la otra incluye las correlaciones de cada categoría y su p-value correspondiente.

Para acceder a los resultados de la dimensión 1, se utiliza el siguiente llamado:

res.desc[[1]]
## 
## Link between the variable and the categorical variable (1-way anova)
## =============================================
##                                          R2       p.value
## cole_area_ubicacion             0.242978276  0.000000e+00
## desemp_ingles                   0.305946392  0.000000e+00
## fami_estratovivienda            0.196990921  0.000000e+00
## fami_tieneinternet              0.274709866  0.000000e+00
## GRUPO Y JORNADA.1_estandarizada 0.175773012 5.709280e-313
## estu_dedicacioninternet         0.172205308 7.194311e-311
## edad_prueba                     0.138047914 4.166150e-238
## cole_caracter                   0.130581096 4.483028e-231
## estu_horassemanatrabaja         0.101178488 8.797805e-175
## estu_dedicacionlecturadiaria    0.045294646  3.031684e-75
## estu_nacionalidad               0.028622965  9.482706e-48
## JORNADA                         0.019423295  3.241272e-33
## estu_tieneetnia                 0.018548420  6.418234e-33
## estu_genero                     0.003592527  1.607978e-07
## AÑO                             0.001913410  6.723460e-04
## 
## Link between variable and the categories of the categorical variables
## ================================================================
##                                                                                         Estimate
## fami_tieneinternet=fami_tieneinternet_No                                              0.20199525
## desemp_ingles=A-                                                                      0.38869032
## cole_area_ubicacion=RURAL                                                             0.28994338
## GRUPO Y JORNADA.1_estandarizada=1                                                     0.25487928
## cole_caracter=NO APLICA                                                               0.76873162
## fami_estratovivienda=Estrato 1                                                        0.02330251
## edad_prueba=18                                                                        0.17853189
## fami_estratovivienda=Sin Estrato                                                      0.19880971
## estu_horassemanatrabaja=Menos de 10 horas                                             0.03393161
## estu_dedicacioninternet=estu_dedicacioninternet_30 minutos o menos                    0.11221351
## estu_dedicacioninternet=estu_dedicacioninternet_No Navega Internet                    0.25354160
## estu_dedicacioninternet=estu_dedicacioninternet_Entre 30 y 60 minutos                 0.02111769
## estu_nacionalidad=VENEZUELA                                                           0.15156851
## estu_dedicacionlecturadiaria=estu_dedicacionlecturadiaria_30 minutos o menos          0.10626366
## estu_tieneetnia=estu_tieneetnia_Si                                                    0.34821792
## desemp_ingles=A1                                                                      0.16001661
## edad_prueba=19                                                                        0.20542243
## estu_horassemanatrabaja=Entre 11 y 20 horas                                           0.02282672
## estu_horassemanatrabaja=Entre 21 y 30 horas                                           0.07772886
## edad_prueba=17                                                                        0.01530623
## JORNADA=MAÑANA                                                                        0.03825895
## estu_horassemanatrabaja=Más de 30 horas                                               0.05948944
## fami_estratovivienda=Estrato 5                                                        0.14396129
## GRUPO Y JORNADA.1_estandarizada=3                                                     0.07719518
## edad_prueba=20                                                                        0.29905483
## estu_genero=M                                                                         0.02005948
## JORNADA=UNICA                                                                         0.02318697
## fami_estratovivienda=Estrato 6                                                        0.12380896
## AÑO=2022                                                                              0.01946232
## estu_dedicacionlecturadiaria=estu_dedicacionlecturadiaria_No leo por entretenimiento  0.05113245
## edad_prueba=21                                                                        0.24422543
## edad_prueba=14                                                                       -0.23411163
## AÑO=2024                                                                             -0.01589189
## fami_estratovivienda=Estrato 4                                                       -0.03128953
## cole_caracter=TÉCNICO                                                                -0.21146896
## estu_genero=F                                                                        -0.02005948
## estu_dedicacionlecturadiaria=estu_dedicacionlecturadiaria_Más de 2 horas             -0.11103338
## edad_prueba=15                                                                       -0.19890634
## estu_dedicacionlecturadiaria=estu_dedicacionlecturadiaria_Entre 1 y 2 horas          -0.07655262
## GRUPO Y JORNADA.1_estandarizada=4                                                    -0.01320275
## estu_tieneetnia=estu_tieneetnia_No                                                   -0.34821792
## estu_dedicacioninternet=estu_dedicacioninternet_Entre 1 y 3 horas                    -0.15588833
## JORNADA=TARDE                                                                        -0.06144592
## GRUPO Y JORNADA.1_estandarizada=6                                                    -0.18635777
## estu_nacionalidad=COLOMBIA                                                           -0.19892155
## fami_estratovivienda=Estrato 2                                                       -0.17417981
## desemp_ingles=B+                                                                     -0.36303766
## cole_caracter=ACADÉMICO                                                              -0.19717807
## GRUPO Y JORNADA.1_estandarizada=7                                                    -0.32084040
## GRUPO Y JORNADA.1_estandarizada=5                                                    -0.22974286
## cole_caracter=TÉCNICO/ACADÉMICO                                                      -0.36008459
## edad_prueba=16                                                                       -0.12782772
## estu_dedicacioninternet=estu_dedicacioninternet_Más de 3 horas                       -0.23098448
## desemp_ingles=B1                                                                     -0.17140295
## desemp_ingles=A2                                                                     -0.01426631
## fami_estratovivienda=Estrato 3                                                       -0.28441313
## estu_horassemanatrabaja=0                                                            -0.19397662
## fami_tieneinternet=fami_tieneinternet_Si                                             -0.20199525
## cole_area_ubicacion=URBANO                                                           -0.28994338
##                                                                                            p.value
## fami_tieneinternet=fami_tieneinternet_No                                              0.000000e+00
## desemp_ingles=A-                                                                      0.000000e+00
## cole_area_ubicacion=RURAL                                                             0.000000e+00
## GRUPO Y JORNADA.1_estandarizada=1                                                    2.919198e-161
## cole_caracter=NO APLICA                                                              3.302275e-129
## fami_estratovivienda=Estrato 1                                                       2.917840e-114
## edad_prueba=18                                                                       3.420353e-114
## fami_estratovivienda=Sin Estrato                                                      7.801047e-99
## estu_horassemanatrabaja=Menos de 10 horas                                             1.860935e-91
## estu_dedicacioninternet=estu_dedicacioninternet_30 minutos o menos                    2.215716e-90
## estu_dedicacioninternet=estu_dedicacioninternet_No Navega Internet                    6.875937e-67
## estu_dedicacioninternet=estu_dedicacioninternet_Entre 30 y 60 minutos                 1.256106e-58
## estu_nacionalidad=VENEZUELA                                                           1.680778e-49
## estu_dedicacionlecturadiaria=estu_dedicacionlecturadiaria_30 minutos o menos          2.585175e-40
## estu_tieneetnia=estu_tieneetnia_Si                                                    6.418234e-33
## desemp_ingles=A1                                                                      5.021033e-32
## edad_prueba=19                                                                        1.255899e-29
## estu_horassemanatrabaja=Entre 11 y 20 horas                                           5.210423e-26
## estu_horassemanatrabaja=Entre 21 y 30 horas                                           1.058757e-17
## edad_prueba=17                                                                        9.114312e-17
## JORNADA=MAÑANA                                                                        4.371040e-16
## estu_horassemanatrabaja=Más de 30 horas                                               5.604233e-12
## fami_estratovivienda=Estrato 5                                                        1.700259e-11
## GRUPO Y JORNADA.1_estandarizada=3                                                     3.508546e-11
## edad_prueba=20                                                                        9.670219e-09
## estu_genero=M                                                                         1.607978e-07
## JORNADA=UNICA                                                                         7.380898e-07
## fami_estratovivienda=Estrato 6                                                        1.320025e-05
## AÑO=2022                                                                              3.392378e-04
## estu_dedicacionlecturadiaria=estu_dedicacionlecturadiaria_No leo por entretenimiento  3.424806e-02
## edad_prueba=21                                                                        4.207292e-02
## edad_prueba=14                                                                        1.074377e-02
## AÑO=2024                                                                              4.084795e-03
## fami_estratovivienda=Estrato 4                                                        1.863426e-03
## cole_caracter=TÉCNICO                                                                 1.161989e-04
## estu_genero=F                                                                         1.607978e-07
## estu_dedicacionlecturadiaria=estu_dedicacionlecturadiaria_Más de 2 horas              2.832347e-28
## edad_prueba=15                                                                        3.548291e-30
## estu_dedicacionlecturadiaria=estu_dedicacionlecturadiaria_Entre 1 y 2 horas           2.599530e-30
## GRUPO Y JORNADA.1_estandarizada=4                                                     1.185400e-30
## estu_tieneetnia=estu_tieneetnia_No                                                    6.418234e-33
## estu_dedicacioninternet=estu_dedicacioninternet_Entre 1 y 3 horas                     7.215252e-34
## JORNADA=TARDE                                                                         6.812843e-34
## GRUPO Y JORNADA.1_estandarizada=6                                                     9.340869e-45
## estu_nacionalidad=COLOMBIA                                                            5.282842e-50
## fami_estratovivienda=Estrato 2                                                        2.460021e-50
## desemp_ingles=B+                                                                      2.100170e-53
## cole_caracter=ACADÉMICO                                                               3.075005e-56
## GRUPO Y JORNADA.1_estandarizada=7                                                     1.448988e-58
## GRUPO Y JORNADA.1_estandarizada=5                                                     5.991704e-77
## cole_caracter=TÉCNICO/ACADÉMICO                                                      2.499810e-115
## edad_prueba=16                                                                       2.386250e-117
## estu_dedicacioninternet=estu_dedicacioninternet_Más de 3 horas                       3.193781e-124
## desemp_ingles=B1                                                                     7.628288e-135
## desemp_ingles=A2                                                                     1.807949e-145
## fami_estratovivienda=Estrato 3                                                       3.181207e-162
## estu_horassemanatrabaja=0                                                            6.979843e-178
## fami_tieneinternet=fami_tieneinternet_Si                                              0.000000e+00
## cole_area_ubicacion=URBANO                                                            0.000000e+00

Para acceder a los resultados de la dimensión 2, se utiliza el siguiente llamado:

res.desc[[2]]
## 
## Link between the variable and the categorical variable (1-way anova)
## =============================================
##                                          R2       p.value
## JORNADA                         0.410818199  0.000000e+00
## GRUPO Y JORNADA.1_estandarizada 0.189821544  0.000000e+00
## cole_caracter                   0.456011246  0.000000e+00
## estu_genero                     0.244047675  0.000000e+00
## cole_area_ubicacion             0.097485803 3.508654e-172
## estu_horassemanatrabaja         0.049991589  2.276165e-83
## estu_dedicacionlecturadiaria    0.033269224  1.193334e-54
## AÑO                             0.028987355  1.886748e-49
## edad_prueba                     0.029419307  5.084400e-44
## desemp_ingles                   0.025031136  1.013888e-40
## estu_dedicacioninternet         0.023718032  1.627863e-38
## fami_estratovivienda            0.020016996  1.001511e-30
## fami_tieneinternet              0.014876857  1.097343e-26
## estu_nacionalidad               0.005378851  6.113236e-09
## 
## Link between variable and the categories of the categorical variables
## ================================================================
##                                                                                           Estimate
## estu_genero=M                                                                         0.1548879884
## cole_caracter=TÉCNICO/ACADÉMICO                                                       0.1013930756
## JORNADA=UNICA                                                                         0.2955585810
## cole_area_ubicacion=RURAL                                                             0.1720524969
## GRUPO Y JORNADA.1_estandarizada=8                                                     0.7950366982
## GRUPO Y JORNADA.1_estandarizada=9                                                     0.9803176863
## cole_caracter=NO APLICA                                                               0.6303980238
## AÑO=2023                                                                              0.0641323100
## edad_prueba=18                                                                        0.0425963971
## fami_tieneinternet=fami_tieneinternet_Si                                              0.0440372755
## estu_horassemanatrabaja=Entre 11 y 20 horas                                           0.0536754963
## estu_dedicacionlecturadiaria=estu_dedicacionlecturadiaria_No leo por entretenimiento  0.0936184807
## estu_dedicacioninternet=estu_dedicacioninternet_Más de 3 horas                        0.0637224275
## desemp_ingles=B1                                                                      0.0519452808
## desemp_ingles=B+                                                                      0.2220569611
## estu_horassemanatrabaja=Entre 21 y 30 horas                                           0.0817201336
## fami_estratovivienda=Estrato 2                                                        0.0249927053
## edad_prueba=19                                                                        0.0504248781
## estu_nacionalidad=PERÚ                                                                1.3645709469
## fami_estratovivienda=Estrato 3                                                        0.0103162649
## estu_dedicacionlecturadiaria=estu_dedicacionlecturadiaria_Entre 30 y 60 minutos       0.0381062441
## fami_estratovivienda=Estrato 4                                                        0.0424656905
## edad_prueba=21                                                                        0.3098322204
## fami_estratovivienda=Sin Estrato                                                      0.0171308284
## fami_estratovivienda=Estrato 6                                                        0.0826715103
## estu_nacionalidad=VANUATU                                                            -0.8184577207
## fami_estratovivienda=Estrato 5                                                       -0.1113049154
## estu_dedicacioninternet=estu_dedicacioninternet_Entre 30 y 60 minutos                -0.0102929781
## estu_horassemanatrabaja=Más de 30 horas                                              -0.0053024001
## desemp_ingles=A2                                                                     -0.0605758920
## GRUPO Y JORNADA.1_estandarizada=3                                                    -0.3470454658
## GRUPO Y JORNADA.1_estandarizada=6                                                    -0.1853883705
## GRUPO Y JORNADA.1_estandarizada=1                                                    -0.3408441319
## desemp_ingles=A-                                                                     -0.1150231500
## estu_dedicacionlecturadiaria=estu_dedicacionlecturadiaria_Más de 2 horas             -0.0667143083
## edad_prueba=16                                                                       -0.1030045291
## fami_tieneinternet=fami_tieneinternet_No                                             -0.0440372755
## estu_dedicacioninternet=estu_dedicacioninternet_30 minutos o menos                   -0.0956449846
## GRUPO Y JORNADA.1_estandarizada=5                                                    -0.1061418034
## fami_estratovivienda=Estrato 1                                                       -0.0662720840
## estu_horassemanatrabaja=Menos de 10 horas                                            -0.0002759057
## estu_dedicacionlecturadiaria=estu_dedicacionlecturadiaria_Entre 1 y 2 horas          -0.0860170220
## AÑO=2022                                                                             -0.0630744664
## GRUPO Y JORNADA.1_estandarizada=2                                                    -0.3955955605
## estu_horassemanatrabaja=0                                                            -0.1298173240
## GRUPO Y JORNADA.1_estandarizada=4                                                    -0.0816154166
## JORNADA=MAÑANA                                                                       -0.1349609437
## cole_area_ubicacion=URBANO                                                           -0.1720524969
## JORNADA=TARDE                                                                        -0.1605976374
## cole_caracter=ACADÉMICO                                                              -0.2325808627
## cole_caracter=TÉCNICO                                                                -0.4992102368
## estu_genero=F                                                                        -0.1548879884
##                                                                                            p.value
## estu_genero=M                                                                         0.000000e+00
## cole_caracter=TÉCNICO/ACADÉMICO                                                       0.000000e+00
## JORNADA=UNICA                                                                         0.000000e+00
## cole_area_ubicacion=RURAL                                                            3.508654e-172
## GRUPO Y JORNADA.1_estandarizada=8                                                     2.556045e-88
## GRUPO Y JORNADA.1_estandarizada=9                                                     4.135376e-88
## cole_caracter=NO APLICA                                                               1.771415e-77
## AÑO=2023                                                                              1.074784e-39
## edad_prueba=18                                                                        2.588165e-33
## fami_tieneinternet=fami_tieneinternet_Si                                              1.097343e-26
## estu_horassemanatrabaja=Entre 11 y 20 horas                                           4.702607e-26
## estu_dedicacionlecturadiaria=estu_dedicacionlecturadiaria_No leo por entretenimiento  1.314734e-25
## estu_dedicacioninternet=estu_dedicacioninternet_Más de 3 horas                        1.717401e-21
## desemp_ingles=B1                                                                      1.052950e-20
## desemp_ingles=B+                                                                      3.657106e-18
## estu_horassemanatrabaja=Entre 21 y 30 horas                                           5.338456e-14
## fami_estratovivienda=Estrato 2                                                        4.220536e-12
## edad_prueba=19                                                                        8.949159e-09
## estu_nacionalidad=PERÚ                                                                8.294698e-08
## fami_estratovivienda=Estrato 3                                                        1.272514e-03
## estu_dedicacionlecturadiaria=estu_dedicacionlecturadiaria_Entre 30 y 60 minutos       1.652755e-03
## fami_estratovivienda=Estrato 4                                                        2.165817e-03
## edad_prueba=21                                                                        3.238880e-03
## fami_estratovivienda=Sin Estrato                                                      2.610858e-02
## fami_estratovivienda=Estrato 6                                                        4.002939e-02
## estu_nacionalidad=VANUATU                                                             3.303600e-03
## fami_estratovivienda=Estrato 5                                                        2.286903e-03
## estu_dedicacioninternet=estu_dedicacioninternet_Entre 30 y 60 minutos                 1.607059e-03
## estu_horassemanatrabaja=Más de 30 horas                                               1.339445e-03
## desemp_ingles=A2                                                                      7.617817e-04
## GRUPO Y JORNADA.1_estandarizada=3                                                     4.683270e-05
## GRUPO Y JORNADA.1_estandarizada=6                                                     1.799015e-09
## GRUPO Y JORNADA.1_estandarizada=1                                                     8.811996e-10
## desemp_ingles=A-                                                                      2.399864e-11
## estu_dedicacionlecturadiaria=estu_dedicacionlecturadiaria_Más de 2 horas              4.075172e-12
## edad_prueba=16                                                                        3.787128e-24
## fami_tieneinternet=fami_tieneinternet_No                                              1.097343e-26
## estu_dedicacioninternet=estu_dedicacioninternet_30 minutos o menos                    1.294598e-28
## GRUPO Y JORNADA.1_estandarizada=5                                                     1.552182e-29
## fami_estratovivienda=Estrato 1                                                        1.259694e-30
## estu_horassemanatrabaja=Menos de 10 horas                                             9.487607e-31
## estu_dedicacionlecturadiaria=estu_dedicacionlecturadiaria_Entre 1 y 2 horas           7.139460e-31
## AÑO=2022                                                                              4.135037e-38
## GRUPO Y JORNADA.1_estandarizada=2                                                     2.085268e-43
## estu_horassemanatrabaja=0                                                             1.883588e-82
## GRUPO Y JORNADA.1_estandarizada=4                                                     5.807748e-86
## JORNADA=MAÑANA                                                                        6.934744e-93
## cole_area_ubicacion=URBANO                                                           3.508654e-172
## JORNADA=TARDE                                                                        1.781711e-233
## cole_caracter=ACADÉMICO                                                              6.625738e-252
## cole_caracter=TÉCNICO                                                                3.320091e-285
## estu_genero=F                                                                         0.000000e+00

Análisis sobre las variables (columnas)

En el análisis de los resultados del MCA, se pueden examinar por separado las variables y los individuos. En este caso, se analiza el comportamiento de las variables o columnas del data.frame(). Para ello, se utiliza el comando get_mca_var(), que permite extraer los resultados de las categorías de las variables activas. Esta función genera una lista con las coordenadas de las categorías en cada dimensión, los valores de coseno al cuadrado y la contribución de cada categoría a los factores o dimensiones.

variables <- get_mca_var(mca_result)
variables
## Multiple Correspondence Analysis Results for variables
##  ===================================================
##   Name       Description                  
## 1 "$coord"   "Coordinates for categories" 
## 2 "$cos2"    "Cos2 for categories"        
## 3 "$contrib" "contributions of categories"

También es posible acceder de forma individual a los valores contenidos en cada elemento de la lista generada, lo que permite examinar con mayor detalle los resultados de las categorías de las variables. A continuación, se muestra un ejemplo de esta revisión.

#coordenadas
head(variables$coord)
##              Dim 1        Dim 2        Dim 3       Dim 4       Dim 5
## 2022    0.05831692 -0.208993688 -0.006374626 -0.02165813 -0.35334185
## 2023   -0.01138526  0.201919439  0.001594632  0.13554865  0.26603685
## 2024   -0.04867274 -0.008662817  0.004922556 -0.13115621  0.07097576
## MAÑANA  0.13826391 -0.343793984  0.423827010 -0.77830001  0.44067262
## TARDE  -0.16346502 -0.426607607 -0.404247679  0.31535221 -0.54822223
## UNICA   0.09265279  1.046903344  0.135550431  0.40576181  0.33705004
#cosenos cuadrados: calidad en el mapa de factores
head(variables$cos2)
##               Dim 1        Dim 2        Dim 3        Dim 4       Dim 5
## 2022   1.681782e-03 2.159966e-02 2.009509e-05 0.0002319651 0.061740582
## 2023   7.162957e-05 2.253007e-02 1.405165e-06 0.0101530524 0.039110183
## 2024   1.080327e-03 3.422173e-05 1.105007e-05 0.0078444311 0.002297227
## MAÑANA 8.622420e-03 5.330992e-02 8.101935e-02 0.2732156571 0.087587807
## TARDE  1.912148e-02 1.302354e-01 1.169410e-01 0.0711645373 0.215072626
## UNICA  3.208191e-03 4.095967e-01 6.866653e-03 0.0615298176 0.042455314
#contribucion en los factores o dimensions
head(variables$contrib)
##              Dim 1        Dim 2        Dim 3       Dim 4      Dim 5
## 2022   0.060620754  0.887108795 9.216783e-04  0.01187465  3.3285137
## 2023   0.002485345  0.890707661 6.203822e-05  0.50030807  2.0296081
## 2024   0.039970565  0.001442664 5.202210e-04  0.41218575  0.1271209
## MAÑANA 0.320112871  2.255071895 3.827371e+00 14.40542635  4.8634633
## TARDE  0.600422738  4.659539420 4.672403e+00  3.17355311 10.1006365
## UNICA  0.125809991 18.301626380 3.426398e-01  3.42678654  2.4900894

Correlaciones entre variables y los factores creados

Con los resultados del MCA es posible visualizar gráficamente la asociación de cada variable con las dimensiones o factores obtenidos. Para ello, se emplea el comando fviz_mca_var() con el argumento choice = “mca.cor”, que permite representar dichas correlaciones de la siguiente manera:

fviz_mca_var(mca_result,
             choise="mca.cor", #tipo de analisis solicitado: correlaciones
             repel=TRUE, #evitar la superposicion de etiquetas
             ggtheme= theme_minimal()
             )
Biplot de correlaciones entre variables y dimensiones.

Biplot de correlaciones entre variables y dimensiones.

El biplot de correlaciones muestra la relación entre las variables y las dimensiones del análisis. En esta gráfica se pueden identificar las variables que presentan mayor correlación con cada factor, representadas según las coordenadas que reflejan los valores de las correlaciones cuadráticas.

Coordenadas para las categorías de las variables activas

Aunque la gráfica anterior muestra la correlación general de las variables con las dimensiones, no permite visualizar las categorías de respuesta dentro del mismo plano. Por ello, es necesario utilizar las coordenadas de cada categoría, obtenidas previamente y accesibles mediante el comando (variable $coord). Con el uso del comando fviz_mca_var(), es posible representar gráficamente estas coordenadas y evaluar visualmente la asociación entre cada categoría y las dimensiones o factores del análisis.

fviz_mca_var(mca_result,
             repel=TRUE,
             ggtheme= theme_minimal(),
             max.overlps="ggrepel.max.overlaps",
             col.var = "black",
             shape.var = 15
             )
Biplot de asociación entre categorías y dimensiones

Biplot de asociación entre categorías y dimensiones

El biplot de asociación entre categorías y dimensiones, con ajustes en color y forma, muestra las relaciones entre las categorías de las variables. Su interpretación se basa en los siguientes criterios:

Calidad de la representación de las categorías

En el biplot generado a partir de los dos primeros factores, se observa que el primer factor explica el 3.6% de la varianza y el segundo, el 2.5%, sumando en total un 6.1% del comportamiento de los datos analizados.

Dado que las dimensiones creadas representan bajos niveles de varianza, no todos los puntos se proyectan con igual precisión en la gráfica. Por ello, es necesario evaluar la calidad de la representación mediante los cosenos cuadráticos (cos²), los cuales indican el grado de asociación entre cada categoría y una dimensión específica.

Los valores de cos² para cada categoría pueden obtenerse con el siguiente comando:

head(round(variables $ cos2, 3), 103)
##                                                         Dim 1 Dim 2 Dim 3 Dim 4
## 2022                                                    0.002 0.022 0.000 0.000
## 2023                                                    0.000 0.023 0.000 0.010
## 2024                                                    0.001 0.000 0.000 0.008
## MAÑANA                                                  0.009 0.053 0.081 0.273
## TARDE                                                   0.019 0.130 0.117 0.071
## UNICA                                                   0.003 0.410 0.007 0.062
## 1                                                       0.092 0.005 0.165 0.034
## 2                                                       0.000 0.025 0.074 0.000
## 3                                                       0.006 0.002 0.001 0.001
## 4                                                       0.017 0.049 0.008 0.004
## 5                                                       0.044 0.017 0.005 0.068
## 6                                                       0.025 0.005 0.014 0.037
## 7                                                       0.034 0.000 0.004 0.015
## 8                                                       0.000 0.051 0.001 0.026
## 9                                                       0.000 0.051 0.005 0.010
## RURAL                                                   0.243 0.097 0.263 0.002
## URBANO                                                  0.243 0.097 0.263 0.002
## ACADÉMICO                                               0.032 0.140 0.078 0.086
## NO APLICA                                               0.074 0.044 0.192 0.001
## TÉCNICO                                                 0.002 0.157 0.056 0.011
## TÉCNICO/ACADÉMICO                                       0.066 0.334 0.004 0.058
## A-                                                      0.230 0.006 0.026 0.014
## A1                                                      0.018 0.000 0.002 0.007
## A2                                                      0.083 0.001 0.011 0.004
## B+                                                      0.031 0.010 0.001 0.000
## B1                                                      0.077 0.011 0.006 0.000
## estu_dedicacioninternet_30 minutos o menos              0.052 0.016 0.008 0.007
## estu_dedicacioninternet_Entre 1 y 3 horas               0.019 0.000 0.004 0.020
## estu_dedicacioninternet_Entre 30 y 60 minutos           0.034 0.001 0.015 0.001
## estu_dedicacioninternet_Más de 3 horas                  0.071 0.012 0.020 0.003
## estu_dedicacioninternet_No Navega Internet              0.038 0.000 0.006 0.078
## estu_dedicacionlecturadiaria_30 minutos o menos         0.023 0.000 0.016 0.011
## estu_dedicacionlecturadiaria_Entre 1 y 2 horas          0.017 0.017 0.014 0.039
## estu_dedicacionlecturadiaria_Entre 30 y 60 minutos      0.000 0.001 0.000 0.001
## estu_dedicacionlecturadiaria_Más de 2 horas             0.016 0.006 0.057 0.060
## estu_dedicacionlecturadiaria_No leo por entretenimiento 0.001 0.014 0.013 0.031
## estu_discapacidad.N                                     0.000 0.000 0.000 0.012
## S                                                       0.000 0.000 0.000 0.012
## 12                                                      0.000 0.000 0.000 0.000
## 13                                                      0.000 0.000 0.002 0.006
## 14                                                      0.001 0.000 0.001 0.000
## 15                                                      0.017 0.000 0.049 0.000
## 16                                                      0.067 0.013 0.050 0.000
## 17                                                      0.009 0.000 0.022 0.000
## 18                                                      0.065 0.019 0.046 0.000
## 19                                                      0.017 0.004 0.008 0.004
## 20                                                      0.004 0.000 0.002 0.014
## 21                                                      0.001 0.001 0.001 0.001
## F                                                       0.004 0.244 0.124 0.091
## M                                                       0.004 0.244 0.124 0.091
## 0                                                       0.101 0.047 0.080 0.018
## Entre 11 y 20 horas                                     0.014 0.015 0.004 0.001
## Entre 21 y 30 horas                                     0.010 0.007 0.007 0.010
## Más de 30 horas                                         0.006 0.001 0.001 0.000
## Menos de 10 horas                                       0.052 0.017 0.061 0.008
## CIÉNAGA                                                 0.000 0.000 0.000 0.000
## SANTA MARTA                                             0.000 0.000 0.000 0.000
## COLOMBIA                                                0.029 0.000 0.028 0.000
## PERÚ                                                    0.000 0.004 0.005 0.000
## VANUATU                                                 0.000 0.001 0.001 0.006
## VENEZUELA                                               0.028 0.000 0.029 0.000
## estu_tieneetnia_No                                      0.019 0.000 0.017 0.020
## estu_tieneetnia_Si                                      0.019 0.000 0.017 0.020
## Estrato 1                                               0.065 0.017 0.000 0.127
## Estrato 2                                               0.029 0.006 0.002 0.007
## Estrato 3                                               0.092 0.001 0.003 0.101
## Estrato 4                                               0.001 0.001 0.009 0.010
## Estrato 5                                               0.006 0.001 0.005 0.005
## Estrato 6                                               0.002 0.001 0.001 0.001
## Sin Estrato                                             0.057 0.001 0.006 0.009
## fami_tieneinternet_No                                   0.275 0.015 0.010 0.151
## fami_tieneinternet_Si                                   0.275 0.015 0.010 0.151
##                                                         Dim 5
## 2022                                                    0.062
## 2023                                                    0.039
## 2024                                                    0.002
## MAÑANA                                                  0.088
## TARDE                                                   0.215
## UNICA                                                   0.042
## 1                                                       0.082
## 2                                                       0.000
## 3                                                       0.134
## 4                                                       0.118
## 5                                                       0.046
## 6                                                       0.069
## 7                                                       0.055
## 8                                                       0.037
## 9                                                       0.020
## RURAL                                                   0.038
## URBANO                                                  0.038
## ACADÉMICO                                               0.002
## NO APLICA                                               0.050
## TÉCNICO                                                 0.025
## TÉCNICO/ACADÉMICO                                       0.009
## A-                                                      0.004
## A1                                                      0.000
## A2                                                      0.003
## B+                                                      0.004
## B1                                                      0.000
## estu_dedicacioninternet_30 minutos o menos              0.016
## estu_dedicacioninternet_Entre 1 y 3 horas               0.011
## estu_dedicacioninternet_Entre 30 y 60 minutos           0.001
## estu_dedicacioninternet_Más de 3 horas                  0.001
## estu_dedicacioninternet_No Navega Internet              0.010
## estu_dedicacionlecturadiaria_30 minutos o menos         0.006
## estu_dedicacionlecturadiaria_Entre 1 y 2 horas          0.022
## estu_dedicacionlecturadiaria_Entre 30 y 60 minutos      0.000
## estu_dedicacionlecturadiaria_Más de 2 horas             0.024
## estu_dedicacionlecturadiaria_No leo por entretenimiento 0.012
## estu_discapacidad.N                                     0.054
## S                                                       0.054
## 12                                                      0.000
## 13                                                      0.004
## 14                                                      0.014
## 15                                                      0.000
## 16                                                      0.008
## 17                                                      0.010
## 18                                                      0.034
## 19                                                      0.021
## 20                                                      0.011
## 21                                                      0.001
## F                                                       0.028
## M                                                       0.028
## 0                                                       0.000
## Entre 11 y 20 horas                                     0.016
## Entre 21 y 30 horas                                     0.001
## Más de 30 horas                                         0.003
## Menos de 10 horas                                       0.009
## CIÉNAGA                                                 0.007
## SANTA MARTA                                             0.007
## COLOMBIA                                                0.000
## PERÚ                                                    0.003
## VANUATU                                                 0.001
## VENEZUELA                                               0.000
## estu_tieneetnia_No                                      0.002
## estu_tieneetnia_Si                                      0.002
## Estrato 1                                               0.004
## Estrato 2                                               0.030
## Estrato 3                                               0.007
## Estrato 4                                               0.004
## Estrato 5                                               0.000
## Estrato 6                                               0.000
## Sin Estrato                                             0.000
## fami_tieneinternet_No                                   0.007
## fami_tieneinternet_Si                                   0.007

Cuando una categoría está bien representada por las dos dimensiones principales, la suma de sus cosenos cuadráticos (cos²) se aproxima a 1, indicando una buena calidad de representación. No obstante, en algunos casos es necesario considerar más de dos dimensiones para describir adecuadamente los datos.

La calidad de representación de las categorías puede analizarse mediante una gráfica de barras, utilizando la variable $cos2 dentro del comando fviz_cos2(), lo que permite visualizar de forma sencilla qué categorías se ajustan mejor al modelo.

fviz_cos2(mca_result,
          choice = "var", # selección de las varianzas
          axes = 1:2, top = 30) # ejes o dimensiones considerar en la gráfica)

La gráfica permite identificar que las cinco primeras categorías con mayores valores de cos² son las mejor representadas en el diagrama de dispersión. Estas pertenecen principalmente a las variables “unica” y “tecnico/academico”. En contraste, las categorías con valores inferiores a 0.2 presentan una representación menos precisa, por lo que su interpretación debe hacerse con precaución, pudiendo requerir un análisis con más dimensiones.

Además, la calidad de representación puede visualizarse directamente en el biplot ajustando el color de los puntos según el valor de cos². Esto se logra con el argumento col.var=, combinado con gradient.cols=, que permite crear un gradiente de colores. Por ejemplo, al definir gradient.cols =c(“#00AFBB”, “#E7B800”, “#FC4E07”), las categorías con bajo cos² aparecerán en amarillo, las de valores intermedios en azul verdozo, y las mejor representadas (alto cos²) en Naranja.

fviz_mca_var(mca_result,
             col.var = "contrib", # Colorea según la contribución
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             repel = TRUE,
             title = "Contribución de las Variables a las Dimensiones 1 y 2")
Biplot de asociación entre categorías y dimensiones con señalización de la calidad de representación.

Biplot de asociación entre categorías y dimensiones con señalización de la calidad de representación.

Contribución de las categorias sobre las dimensiones creadas

Finalmente, resulta esencial identificar las categorías que tienen mayor influencia en la construcción de las dimensiones o factores del análisis, más allá de las variables a las que pertenecen. Para ello, se analiza la contribución porcentual de cada categoría en la definición de los ejes obtenidos.

Una forma inicial de revisar estos valores es utilizando el argumento $contrib, que permite mostrar una tabla con los porcentajes de contribución de cada categoría en cada dimensión del MCA.

head(round(variables $ contrib, 2))
##        Dim 1 Dim 2 Dim 3 Dim 4 Dim 5
## 2022    0.06  0.89  0.00  0.01  3.33
## 2023    0.00  0.89  0.00  0.50  2.03
## 2024    0.04  0.00  0.00  0.41  0.13
## MAÑANA  0.32  2.26  3.83 14.41  4.86
## TARDE   0.60  4.66  4.67  3.17 10.10
## UNICA   0.13 18.30  0.34  3.43  2.49

En esta tabla, las filas corresponden a las categorías activas incluidas en el análisis, mientras que las columnas representan las dimensiones creadas. Las categorías con mayores valores porcentuales son las que más contribuyen a la formación de cada dimensión y, por tanto, tienen una mayor influencia en la explicación de la variabilidad del conjunto de datos.

De manera visual, esta contribución puede representarse con una gráfica de barras utilizando el comando fviz_contrib(), que permite mostrar de forma clara qué categorías aportan más a cada dimensión del análisis.

#contribucion de las catergorias a la dimension 1.
fviz_contrib(mca_result, #objeto tipo lista con resultados mca
             choice = "var", #criterio a representar: varianza
             axes = 1, # selección del eje o dimensión a analizar = eje 1
             top = 20) # selección de las 15 categorías con mayor contribución
Contribución de las categorías a las dimensiones 1 y 2.

Contribución de las categorías a las dimensiones 1 y 2.

#contribucion de las catergorias a la dimension 2.
fviz_contrib(mca_result, #objeto tipo lista con resultados mca
             choice = "var", #criterio a representar: varianza
             axes = 2, # selección del eje o dimensión a analizar = eje 2
             top = 17) # selección de las 15 categorías con mayor contribución
Contribución de las categorías a las dimensiones 1 y 2.

Contribución de las categorías a las dimensiones 1 y 2.

En las gráficas de contribución, la línea roja punteada indica el valor promedio esperado si todas las categorías aportaran de forma uniforme. Las categorías que se ubican por encima de esta línea tienen una contribución relevante a la dimensión correspondiente, mientras que aquellas por debajo presentan una influencia menor.

A partir de los resultados obtenidos, se observa lo siguiente:

También es posible calcular la contribución total de cada categoría a las dimensiones de interés, en este caso, los ejes 1 y 2. Para ello, se emplea el mismo comando fviz_contrib(), ajustando el argumento axes= para especificar las dimensiones que se desean analizar.

# Total contribution to dimension 1 and 2
fviz_contrib(mca_result, #objeto tipo lista con resultados mca
             choice = "var", #criterio de representación = varianzas
             axes = 1:2, # ejes seleccionados en la representación = ejes 1 y 2 simultáneos
             top = 20) #selección de las 20 categorías con mayor contribución
Contribución total de las categorías a las dimensiones 1 y 2.

Contribución total de las categorías a las dimensiones 1 y 2.

En el gráfico “Contribution of variables to Dim-1-2” se presentan las contribuciones de las distintas variables a la conformación de las dos primeras dimensiones resultantes del Análisis de Correspondencias Múltiples (MCA). Este gráfico permite identificar cuáles variables o categorías tienen una mayor influencia en la estructura factorial del análisis, es decir, cuáles son las que más aportan a la explicación de la variabilidad total de los datos.

En este caso, las variables que presentan las contribuciones más altas son “R”, “ÚNICA”, “TÉCNICO/ACADÉMICO”, “fami_tieneinternet_No”, “TÉCNICO” y “estu_genero_M”. Estas categorías superan la línea de referencia (línea roja punteada), la cual representa la contribución promedio esperada. Esto indica que dichas variables son las que más influyen en la conformación de las Dimensiones 1 y 2, y por lo tanto, son las más relevantes para diferenciar a los individuos dentro del conjunto de datos.

En términos interpretativos, se puede afirmar que las características institucionales (como el tipo de colegio o su carácter académico/técnico) y los factores sociodemográficos (como el acceso al servicio de internet en el hogar y el género del estudiante) son los elementos que más inciden en la estructura de la información analizada. Esto sugiere que las diferencias entre los estudiantes pueden estar fuertemente asociadas con el contexto educativo y social en el que se desarrollan.

Por ejemplo, la variable “fami_tieneinternet_No” indica que la carencia de acceso a internet podría estar generando una separación importante entre grupos de estudiantes, posiblemente vinculada a condiciones socioeconómicas o tecnológicas desiguales. Asimismo, el género (estu_genero_M) y el carácter del colegio (TÉCNICO/ACADÉMICO, TÉCNICO) parecen ser factores diferenciadores dentro del conjunto, reflejando posibles patrones de comportamiento, desempeño o acceso a recursos educativos distintos según estas categorías.

Por otro lado, las variables que se encuentran con valores de contribución por debajo de la línea de referencia, como “GRUPO Y JORNADA estandarizada”, “dedicación a internet”, “dedicación a la lectura diaria”, o algunas categorías relacionadas con el nivel educativo de los padres, presentan una influencia menor en la formación de los ejes factoriales. Esto implica que dichas variables no aportan de manera significativa a la explicación de la variabilidad principal del conjunto de datos, aunque sí pueden contribuir de manera marginal al análisis general.

En conjunto, el gráfico permite concluir que las dimensiones 1 y 2 del MCA están principalmente determinadas por variables de tipo institucional y socioeconómico, mientras que las variables relacionadas con hábitos personales o de estudio tienen un peso menor en la estructura global. Esto proporciona una primera aproximación sobre los factores que más influyen en la diferenciación del perfil de los estudiantes, información que puede ser complementada posteriormente con los gráficos de individuos o con el análisis de contribuciones específicas por categoría.

La contribución de las categorías también puede visualizarse directamente en el biplot, utilizando la coloración de los puntos según el nivel de aporte de cada una. Esto se logra mediante el argumento col.var = “contrib”, que asigna colores en función del grado de contribución de las categorías a las dimensiones, de la siguiente forma:

fviz_mca_var(mca_result,
             col.var = "contrib", # Colorea según la contribución
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             repel = TRUE,
             title = "Contribución de las Variables a las Dimensiones 1 y 2",
             ggtheme = theme_minimal())
Biplot de distribución de las categorías activas señaladas por su contribución a cada dimensión.

Biplot de distribución de las categorías activas señaladas por su contribución a cada dimensión.