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 limpieza:  4500067 43
## 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_NACIONALIDAD"           "ESTU_PAIS_RESIDE"           
## [25] "ESTU_PRIVADO_LIBERTAD"       "FAMI_CUARTOSHOGAR"          
## [27] "FAMI_EDUCACIONMADRE"         "FAMI_EDUCACIONPADRE"        
## [29] "FAMI_ESTRATOVIVIENDA"        "FAMI_PERSONASHOGAR"         
## [31] "FAMI_TIENEAUTOMOVIL"         "FAMI_TIENECOMPUTADOR"       
## [33] "FAMI_TIENEINTERNET"          "FAMI_TIENELAVADORA"         
## [35] "DESEMP_INGLES"               "PUNT_INGLES"                
## [37] "PUNT_MATEMATICAS"            "PUNT_SOCIALES_CIUDADANAS"   
## [39] "PUNT_C_NATURALES"            "PUNT_LECTURA_CRITICA"       
## [41] "PUNT_GLOBAL"                 "FECHA_NAC"                  
## [43] "EDAD"

3. Tratamiento de categorías raras

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

## 
##        F        M SIN_DATO 
##  2447867  2048985     3215
## 
## Estrato 1 Estrato 2 Estrato 3 Estrato 4 Estrato 5 Estrato 6  SIN_DATO 
##   1521884   1515251    851478    213771     80981     48348    268354
## 
##      CC    OTRO      TI 
##  778330   68041 3653696

4. Valores faltantes

Se cuantifican y grafican los valores faltantes.

## Top 15 variables con más valores faltantes:
##                       Variable n_faltantes porc_faltantes
## 1        ESTU_COD_RESIDE_DEPTO        2028   4.506600e-02
## 2        ESTU_COD_RESIDE_MCPIO        2028   4.506600e-02
## 3                    FECHA_NAC         165   3.666612e-03
## 4                         EDAD         165   3.666612e-03
## 5  ESTU_COD_DEPTO_PRESENTACION          86   1.911083e-03
## 6  ESTU_COD_MCPIO_PRESENTACION          86   1.911083e-03
## 7     COLE_COD_DEPTO_UBICACION           2   4.444378e-05
## 8     COLE_COD_MCPIO_UBICACION           2   4.444378e-05
## 9                      PERIODO           0   0.000000e+00
## 10          ESTU_TIPODOCUMENTO           0   0.000000e+00
## 11         COLE_AREA_UBICACION           0   0.000000e+00
## 12               COLE_BILINGUE           0   0.000000e+00
## 13             COLE_CALENDARIO           0   0.000000e+00
## 14               COLE_CARACTER           0   0.000000e+00
## 15        COLE_DEPTO_UBICACION           0   0.000000e+00

## Dimensiones después del tratamiento de NA:  4499902 43
##                  PERIODO       ESTU_TIPODOCUMENTO      COLE_AREA_UBICACION 
##                        0                        0                        0 
##            COLE_BILINGUE          COLE_CALENDARIO            COLE_CARACTER 
##                        0                        0                        0 
## COLE_COD_DEPTO_UBICACION COLE_COD_MCPIO_UBICACION     COLE_DEPTO_UBICACION 
##                        0                        0                        0 
##              COLE_GENERO 
##                        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. 
##    9.00   17.00   17.00   17.48   18.00   19.00
## 
##       9      10      11      12      13      14      15      16      17      18 
##     237     485     306     147     248     654    8602  247824 1794722 1275461 
##      19 
##  386632

## # A tibble: 11 × 3
##     EDAD       n porcentaje
##    <dbl>   <int>      <dbl>
##  1     9     237       0.01
##  2    10     485       0.01
##  3    11     306       0.01
##  4    12     147       0   
##  5    13     248       0.01
##  6    14     654       0.02
##  7    15    8602       0.23
##  8    16  247824       6.67
##  9    17 1794722      48.3 
## 10    18 1275461      34.3 
## 11    19  386632      10.4

## # A tibble: 3 × 7
##   ESTU_GENERO       n media mediana   min   max    sd
##   <chr>         <int> <dbl>   <dbl> <dbl> <dbl> <dbl>
## 1 F           2050392  17.4      17     9    19 0.780
## 2 M           1662863  17.5      17     9    19 0.798
## 3 SIN_DATO       2063  18.0      18    15    19 0.970

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              465973
## 2                BOGOTA              328175
## 3                 VALLE              317419
## 4                BOGOTÁ              286324
## 5          CUNDINAMARCA              251784
## 6             ATLANTICO              220360
## 7             SANTANDER              177392
## 8               BOLIVAR              172507
## 9               CORDOBA              138215
## 10               BOYACA              114453
## 11               TOLIMA              112549
## 12      NORTE SANTANDER              106969
## 13            MAGDALENA              105476
## 14               NARIÑO              104839
## 15                CAUCA               94277
## 16                HUILA               92031
## 17                CESAR               89502
## 18                 META               81592
## 19                SUCRE               72947
## 20            RISARALDA               70010
## 21               CALDAS               68635
## 22           LA GUAJIRA               47513
## 23              QUINDIO               43904
## 24             CASANARE               36457
## 25                CHOCO               26026
## 26              CAQUETA               25855
## 27             PUTUMAYO               25377
## 28               ARAUCA               19280
## 29             GUAVIARE                5722
## 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.                 614499
## 2                 Antioquia                 465973
## 3           Valle del Cauca                 317419
## 4              Cundinamarca                 251784
## 5                 Atlántico                 220360
## 6                 Santander                 177392
## 7                   Bolívar                 172507
## 8                   Córdoba                 138215
## 9                    Boyacá                 114453
## 10                   Tolima                 112549
## 11       Norte de Santander                 106969
## 12                Magdalena                 105476
## 13                   Nariño                 104839
## 14                    Cauca                  94277
## 15                    Huila                  92031
## 16                    Cesar                  89502
## 17                     Meta                  81592
## 18                    Sucre                  72947
## 19                Risaralda                  70010
## 20                   Caldas                  68635
## 21               La Guajira                  47513
## 22                  Quindío                  43904
## 23                 Casanare                  36457
## 24                    Chocó                  26026
## 25                  Caquetá                  25855
## 26                 Putumayo                  25377
## 27                   Arauca                  19280
## 28                 Guaviare                   5722
## 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                      465973                 465973
##  2 BOGOTA         Bogotá D.C.                    328175                 614499
##  3 VALLE          Valle del Cauca                317419                 317419
##  4 BOGOTÁ         Bogotá D.C.                    286324                 614499
##  5 CUNDINAMARCA   Cundinamarca                   251784                 251784
##  6 ATLANTICO      Atlántico                      220360                 220360
##  7 SANTANDER      Santander                      177392                 177392
##  8 BOLIVAR        Bolívar                        172507                 172507
##  9 CORDOBA        Córdoba                        138215                 138215
## 10 BOYACA         Boyacá                         114453                 114453
## # ℹ 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: 3715318 43
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    9.00   17.00   17.00   17.48   18.00   19.00
## [1] 34
## [1] 1093
##  Dimensiones finales después de limpieza:
## [1] 3715318      43
## 
##  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.48   18.00   19.00
## 
##  Distribución de EDAD (conteo por año):
## 
##       9      10      11      12      13      14      15      16      17      18 
##     237     485     306     147     248     654    8602  247824 1794722 1275461 
##      19 
##  386632
## 
##  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.