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] 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"
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"
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
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
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
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
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"
## 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"
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.