Introducción

Este documento describe el proceso de preparación, transformación y limpieza aplicado al dataset de resultados de la prueba Saber 11.
El objetivo es obtener un dataset depurado y consistente, listo para análisis exploratorio y modelado.


1. Cargar librerías y datos

## [1] 4500067      51
## 'data.frame':    4500067 obs. of  51 variables:
##  $ PERIODO                      : int  20194 20194 20194 20194 20162 20172 20142 20194 20194 20194 ...
##  $ ESTU_TIPODOCUMENTO           : chr  "TI" "TI" "TI" "TI" ...
##  $ ESTU_CONSECUTIVO             : chr  "SB11201940464873" "SB11201940464873" "SB11201940562856" "SB11201940562856" ...
##  $ COLE_AREA_UBICACION          : chr  "RURAL" "RURAL" "URBANO" "URBANO" ...
##  $ COLE_BILINGUE                : chr  "N" "N" "N" "N" ...
##  $ COLE_CALENDARIO              : chr  "A" "A" "A" "A" ...
##  $ COLE_CARACTER                : chr  "TÉCNICO/ACADÉMICO" "TÉCNICO/ACADÉMICO" "TÉCNICO/ACADÉMICO" "TÉCNICO/ACADÉMICO" ...
##  $ COLE_COD_DANE_ESTABLECIMIENTO: num  1.41e+11 1.41e+11 1.41e+11 1.41e+11 1.76e+11 ...
##  $ COLE_COD_DANE_SEDE           : num  2.41e+11 2.41e+11 1.41e+11 1.41e+11 1.76e+11 ...
##  $ COLE_COD_DEPTO_UBICACION     : int  41 41 41 41 76 5 73 68 68 5 ...
##  $ COLE_COD_MCPIO_UBICACION     : int  41016 41016 41396 41396 76001 5001 73678 68001 68001 5360 ...
##  $ COLE_CODIGO_ICFES            : int  194878 194878 10066 10066 17632 147587 98020 14209 14209 36020 ...
##  $ COLE_DEPTO_UBICACION         : chr  "HUILA" "HUILA" "HUILA" "HUILA" ...
##  $ COLE_GENERO                  : chr  "MIXTO" "MIXTO" "MIXTO" "MIXTO" ...
##  $ COLE_JORNADA                 : chr  "COMPLETA" "COMPLETA" "COMPLETA" "COMPLETA" ...
##   [list output truncated]
##  [1] "PERIODO"                       "ESTU_TIPODOCUMENTO"           
##  [3] "ESTU_CONSECUTIVO"              "COLE_AREA_UBICACION"          
##  [5] "COLE_BILINGUE"                 "COLE_CALENDARIO"              
##  [7] "COLE_CARACTER"                 "COLE_COD_DANE_ESTABLECIMIENTO"
##  [9] "COLE_COD_DANE_SEDE"            "COLE_COD_DEPTO_UBICACION"     
## [11] "COLE_COD_MCPIO_UBICACION"      "COLE_CODIGO_ICFES"            
## [13] "COLE_DEPTO_UBICACION"          "COLE_GENERO"                  
## [15] "COLE_JORNADA"                  "COLE_MCPIO_UBICACION"         
## [17] "COLE_NATURALEZA"               "COLE_NOMBRE_ESTABLECIMIENTO"  
## [19] "COLE_NOMBRE_SEDE"              "COLE_SEDE_PRINCIPAL"          
## [21] "ESTU_COD_DEPTO_PRESENTACION"   "ESTU_COD_MCPIO_PRESENTACION"  
## [23] "ESTU_COD_RESIDE_DEPTO"         "ESTU_COD_RESIDE_MCPIO"        
## [25] "ESTU_DEPTO_PRESENTACION"       "ESTU_DEPTO_RESIDE"            
## [27] "ESTU_ESTADOINVESTIGACION"      "ESTU_ESTUDIANTE"              
## [29] "ESTU_FECHANACIMIENTO"          "ESTU_GENERO"                  
## [31] "ESTU_MCPIO_PRESENTACION"       "ESTU_MCPIO_RESIDE"            
## [33] "ESTU_NACIONALIDAD"             "ESTU_PAIS_RESIDE"             
## [35] "ESTU_PRIVADO_LIBERTAD"         "FAMI_CUARTOSHOGAR"            
## [37] "FAMI_EDUCACIONMADRE"           "FAMI_EDUCACIONPADRE"          
## [39] "FAMI_ESTRATOVIVIENDA"          "FAMI_PERSONASHOGAR"           
## [41] "FAMI_TIENEAUTOMOVIL"           "FAMI_TIENECOMPUTADOR"         
## [43] "FAMI_TIENEINTERNET"            "FAMI_TIENELAVADORA"           
## [45] "DESEMP_INGLES"                 "PUNT_INGLES"                  
## [47] "PUNT_MATEMATICAS"              "PUNT_SOCIALES_CIUDADANAS"     
## [49] "PUNT_C_NATURALES"              "PUNT_LECTURA_CRITICA"         
## [51] "PUNT_GLOBAL"

2. Eliminación de identificadores

Creamos la variable EDAD a partir de la fecha de nacimiento y eliminamos identificadores sensibles y redundantes.

##  Dimensiones después de eliminar pandemia: 4469105 51
##  Años presentes en la base: 2019 2016 2017 2014 2015 2022 2018
## Dimensiones después de limpieza:  4469105 41
## Columnas actuales:
##  [1] "PERIODO"                     "ESTU_TIPODOCUMENTO"         
##  [3] "COLE_AREA_UBICACION"         "COLE_BILINGUE"              
##  [5] "COLE_CALENDARIO"             "COLE_CARACTER"              
##  [7] "COLE_COD_DEPTO_UBICACION"    "COLE_COD_MCPIO_UBICACION"   
##  [9] "COLE_DEPTO_UBICACION"        "COLE_GENERO"                
## [11] "COLE_JORNADA"                "COLE_MCPIO_UBICACION"       
## [13] "COLE_NATURALEZA"             "ESTU_COD_DEPTO_PRESENTACION"
## [15] "ESTU_COD_MCPIO_PRESENTACION" "ESTU_COD_RESIDE_DEPTO"      
## [17] "ESTU_COD_RESIDE_MCPIO"       "ESTU_DEPTO_PRESENTACION"    
## [19] "ESTU_DEPTO_RESIDE"           "ESTU_GENERO"                
## [21] "ESTU_MCPIO_PRESENTACION"     "ESTU_MCPIO_RESIDE"          
## [23] "ESTU_PRIVADO_LIBERTAD"       "FAMI_CUARTOSHOGAR"          
## [25] "FAMI_EDUCACIONMADRE"         "FAMI_EDUCACIONPADRE"        
## [27] "FAMI_ESTRATOVIVIENDA"        "FAMI_PERSONASHOGAR"         
## [29] "FAMI_TIENEAUTOMOVIL"         "FAMI_TIENECOMPUTADOR"       
## [31] "FAMI_TIENEINTERNET"          "FAMI_TIENELAVADORA"         
## [33] "DESEMP_INGLES"               "PUNT_INGLES"                
## [35] "PUNT_MATEMATICAS"            "PUNT_SOCIALES_CIUDADANAS"   
## [37] "PUNT_C_NATURALES"            "PUNT_LECTURA_CRITICA"       
## [39] "PUNT_GLOBAL"                 "FECHA_NAC"                  
## [41] "EDAD"

3. Tratamiento de categorías raras

Se homogenizan categorías como SIN_DATO, OTRO, y valores vacíos.

## Distribución de ESTU_GENERO:
## 
##               F       M 
##    3209 2432550 2033346
## 
## Distribución de FAMI_ESTRATOVIVIENDA:
## 
##               Estrato 1   Estrato 2   Estrato 3   Estrato 4   Estrato 5 
##      176711     1520501     1510944      844724      207686       75864 
##   Estrato 6 Sin Estrato 
##       43696       88979
## 
## Distribución de ESTU_TIPODOCUMENTO:
## 
##      CC     CCB      CE      CR     NES     NIP     NUI    NUIP      PC      PE 
##  773457       8    8030   47071    7087      11       3       9      78     686 
##     PEP     PET     PPT     PTP      PV      RC      TI       v       V 
##    3893       2     726       4       4      95 3627890       1      50
## 
## Distribución de DESEMP_INGLES (post-ajuste):
## 
##       A-       A1       A2       B+       B1 SIN_DATO 
##  2097532  1345748   598616   108527   314624     4058

4. Valores faltantes

Se cuantifican y grafican los valores faltantes.

## Top 15 variables con más valores faltantes:
##                       Variable n_faltantes porc_faltantes
## 1                  PUNT_INGLES        4096   9.165146e-02
## 2        ESTU_COD_RESIDE_DEPTO        1256   2.810406e-02
## 3        ESTU_COD_RESIDE_MCPIO        1256   2.810406e-02
## 4                    FECHA_NAC         165   3.692014e-03
## 5                         EDAD         165   3.692014e-03
## 6  ESTU_COD_DEPTO_PRESENTACION          86   1.924323e-03
## 7  ESTU_COD_MCPIO_PRESENTACION          86   1.924323e-03
## 8     COLE_COD_DEPTO_UBICACION           2   4.475169e-05
## 9     COLE_COD_MCPIO_UBICACION           2   4.475169e-05
## 10                     PERIODO           0   0.000000e+00
## 11          ESTU_TIPODOCUMENTO           0   0.000000e+00
## 12         COLE_AREA_UBICACION           0   0.000000e+00
## 13               COLE_BILINGUE           0   0.000000e+00
## 14             COLE_CALENDARIO           0   0.000000e+00
## 15               COLE_CARACTER           0   0.000000e+00
## ✔ EDAD imputada con la media: 18
## ✔ Imputada la media en PUNT_INGLES: 50.21
## ✔ Imputada la media en PUNT_MATEMATICAS: 50.67
## ✔ Imputada la media en PUNT_SOCIALES_CIUDADANAS: 48.81
## ✔ Imputada la media en PUNT_C_NATURALES: 50.06
## ✔ Imputada la media en PUNT_LECTURA_CRITICA: 52.13
## ✔ Imputada la media en PUNT_GLOBAL: 252.01
## Valores faltantes después de imputación:
##                FECHA_NAC                  PERIODO       ESTU_TIPODOCUMENTO 
##                      165                        0                        0 
##      COLE_AREA_UBICACION            COLE_BILINGUE          COLE_CALENDARIO 
##                        0                        0                        0 
##            COLE_CARACTER COLE_COD_DEPTO_UBICACION COLE_COD_MCPIO_UBICACION 
##                        0                        0                        0 
##     COLE_DEPTO_UBICACION 
##                        0

5. Distribución de edad

Se filtran registros fuera del rango [9–19] y se generan gráficos.

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  -83.40   17.06   17.60   18.43   18.54 2020.04
##         0%         5%        10%        15%        20%        25%        30% 
##  -83.39767   16.44627   16.68172   16.82683   16.95003   17.06229   17.16359 
##        35%        40%        45%        50%        55%        60%        65% 
##   17.26489   17.36345   17.47844   17.60164   17.74401   17.91923   18.11362 
##        70%        75%        80%        85%        90%        95%       100% 
##   18.31075   18.53799   18.81177   19.17591   19.70705   21.27036 2020.04381
## Registros fuera del rango [9-19]: 772961
## Dimensiones después de filtrar por edad: 3696144 41
## # A tibble: 11 × 3
##     EDAD       n porcentaje
##    <dbl>   <int>      <dbl>
##  1     9     234       0.01
##  2    10     482       0.01
##  3    11     299       0.01
##  4    12     143       0   
##  5    13     247       0.01
##  6    14     651       0.02
##  7    15    8590       0.23
##  8    16  247595       6.7 
##  9    17 1789848      48.4 
## 10    18 1266231      34.3 
## 11    19  381824      10.3

## # A tibble: 3 × 7
##   ESTU_GENERO       n media mediana   min   max    sd
##   <chr>         <int> <dbl>   <dbl> <dbl> <dbl> <dbl>
## 1 F           2040661  17.4      17     9    19 0.779
## 2 M           1653423  17.5      17     9    19 0.798
## 3 SIN_DATO       2060  18.0      18    15    19 0.971

6. Normalización de Departamentos

Se aplica un diccionario de equivalencias para unificar nombres.

##  Departamentos antes de la normalización:
##    COLE_DEPTO_UBICACION frecuencia_original
## 1             ANTIOQUIA              465282
## 2                BOGOTA              328176
## 3                 VALLE              308577
## 4                BOGOTÁ              282429
## 5          CUNDINAMARCA              250404
## 6             ATLANTICO              219545
## 7             SANTANDER              177203
## 8               BOLIVAR              172246
## 9               CORDOBA              138162
## 10               BOYACA              114382
## 11               TOLIMA              112472
## 12      NORTE SANTANDER              106890
## 13            MAGDALENA              105329
## 14               NARIÑO              104147
## 15                CAUCA               93153
## 16                HUILA               91974
## 17                CESAR               89384
## 18                 META               81613
## 19                SUCRE               72947
## 20            RISARALDA               69714
## 21               CALDAS               68423
## 22           LA GUAJIRA               47430
## 23              QUINDIO               43856
## 24             CASANARE               36447
## 25                CHOCO               26026
## 26              CAQUETA               25851
## 27             PUTUMAYO               25335
## 28               ARAUCA               19272
## 29             GUAVIARE                5720
## 30           SAN ANDRES                4413
## 31             AMAZONAS                4223
## 32              VICHADA                2548
## 33               VAUPES                1558
## 34              GUAINIA                1011
## 35                                        2
## 
##  Departamentos después de la normalización:
##        COLE_DEPTO_UBICACION frecuencia_normalizada
## 1               Bogotá D.C.                 610605
## 2                 Antioquia                 465282
## 3           Valle del Cauca                 308577
## 4              Cundinamarca                 250404
## 5                 Atlántico                 219545
## 6                 Santander                 177203
## 7                   Bolívar                 172246
## 8                   Córdoba                 138162
## 9                    Boyacá                 114382
## 10                   Tolima                 112472
## 11       Norte de Santander                 106890
## 12                Magdalena                 105329
## 13                   Nariño                 104147
## 14                    Cauca                  93153
## 15                    Huila                  91974
## 16                    Cesar                  89384
## 17                     Meta                  81613
## 18                    Sucre                  72947
## 19                Risaralda                  69714
## 20                   Caldas                  68423
## 21               La Guajira                  47430
## 22                  Quindío                  43856
## 23                 Casanare                  36447
## 24                    Chocó                  26026
## 25                  Caquetá                  25851
## 26                 Putumayo                  25335
## 27                   Arauca                  19272
## 28                 Guaviare                   5720
## 29 San Andrés y Providencia                   4413
## 30                 Amazonas                   4223
## 31                  Vichada                   2548
## 32                   Vaupés                   1558
## 33                  Guainía                   1011
## 34                                               2
## 
##  Reporte de equivalencias aplicadas:
## # A tibble: 34 × 4
##    valor_original valor_normalizado frecuencia_original frecuencia_normalizada
##    <chr>          <chr>                           <int>                  <int>
##  1 ANTIOQUIA      Antioquia                      465282                 465282
##  2 BOGOTA         Bogotá D.C.                    328176                 610605
##  3 VALLE          Valle del Cauca                308577                 308577
##  4 BOGOTÁ         Bogotá D.C.                    282429                 610605
##  5 CUNDINAMARCA   Cundinamarca                   250404                 250404
##  6 ATLANTICO      Atlántico                      219545                 219545
##  7 SANTANDER      Santander                      177203                 177203
##  8 BOLIVAR        Bolívar                        172246                 172246
##  9 CORDOBA        Córdoba                        138162                 138162
## 10 BOYACA         Boyacá                         114382                 114382
## # ℹ 24 more rows

7. Normalización de Municipios

Se quitan tildes, se pasa a mayúsculas y se aplica un diccionario reducido.

## Municipios después de la normalización:
##  [1] "AIPE"        "LA PLATA"    "CALI"        "MEDELLIN"    "BUCARAMANGA"
##  [6] "ITAGUI"      "ZARZAL"      "TURBANA"     "PLATO"       "CICUCO"     
## [11] "PASTO"       "IPIALES"     "CHIA"        "COPACABANA"  "CUCUTA"     
## [16] "PORE"        "TORIBIO"     "YALI"        "BOGOTA"      "BELLO"

8. Confirmaciones finales

## Dimensiones finales: 3696144 41
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    9.00   17.00   17.00   17.47   18.00   19.00
## [1] 34
## [1] 1093
##  Dimensiones finales después de limpieza:
## [1] 3696144      41
## 
##  Resumen de EDAD (después de filtrado 9–19 años):
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    9.00   17.00   17.00   17.47   18.00   19.00
## 
##  Distribución de EDAD (conteo por año):
## 
##       9      10      11      12      13      14      15      16      17      18 
##     234     482     299     143     247     651    8590  247595 1789848 1266231 
##      19 
##  381824
## 
##  Ejemplo de departamentos normalizados (primeros 10):
##  [1] "Huila"              "Valle del Cauca"    "Antioquia"         
##  [4] "Santander"          "Bolívar"            "Magdalena"         
##  [7] "Nariño"             "Cundinamarca"       "Norte de Santander"
## [10] "Casanare"
## 
##  Número total de municipios únicos después de la normalización:
## [1] 1093
## 
##  Ejemplo de municipios normalizados (primeros 20):
##  [1] "AIPE"        "LA PLATA"    "CALI"        "MEDELLIN"    "BUCARAMANGA"
##  [6] "ITAGUI"      "ZARZAL"      "TURBANA"     "PLATO"       "CICUCO"     
## [11] "PASTO"       "IPIALES"     "CHIA"        "COPACABANA"  "CUCUTA"     
## [16] "PORE"        "TORIBIO"     "YALI"        "BOGOTA"      "BELLO"

Conclusión

El dataset ha sido limpiado y normalizado:

Se eliminaron identificadores sensibles.

Se homogenizaron categorías y valores faltantes.

Se filtró el rango de edades.

Se normalizaron nombres de departamentos y municipios.

Dataset listo para análisis exploratorio y modelado.