DESCRIPCION

Resultados anonimizados de las pruebas de Saber 11 del segundo semestre del año 2019.

IDENTIFICACION DE VARIABLES

Una vez se realizo el cargue del dataset asdasdas se encontró un total de 82 variables, Las cuales se mencionan a continuación:

Variable Definición
ESTU_TIPODOCUMENTO Tipo de documento del estudiante
ESTU_NACIONALIDAD Nacionalidad del estudiante
ESTU_GENERO Género del estudiante
ESTU_FECHANACIMIENTO Fecha de nacimiento del estudiante
PERIODO Periodo academico del estudiante
ESTU_CONSECUTIVO del estudiante
ESTU_ESTUDIANTE del estudiante
ESTU_TIENEETNIA **Pertenece a alguna etnia el estudiante
ESTU_PAIS_RESIDE País donde reside el estudiante
ESTU_ETNIA Etnia a la que pertenece el estudiante
ESTU_DEPTO_RESIDE Departamento de residencia del estudiante
ESTU_COD_RESIDE_DEPTO Código del departamento de residencia del estudiante
ESTU_MCPIO_RESIDE Municipio de residencia del estudiante
ESTU_COD_RESIDE_MCPIO Código del municipio de residencia del estudiante
FAMI_ESTRATOVIVIENDA Estrato de la vivienda del estudiante
FAMI_PERSONASHOGAR Numero de personas en el hogar del estudiante
FAMI_CUARTOSHOGAR Número de cuartos en el hogar del estudiante
FAMI_EDUCACIONPADRE Nivel educativo del padre del estudiante
FAMI_EDUCACIONMADRE Nivel educativo de la madre del estudiante
FAMI_TRABAJOLABORPADRE Trabajo del padre del estudiante
FAMI_TRABAJOLABORMADRE Trabajo de la madre del estudiante
FAMI_TIENEINTERNET Tiene internet
FAMI_TIENESERVICIOTV Tiene servicio de TV
FAMI_TIENECOMPUTADOR Tiene computador
FAMI_TIENELAVADORA Tiene lavadora
FAMI_TIENEHORNOMICROOGAS Tiene horno microogas
FAMI_TIENEAUTOMOVIL Tiene automovil
FAMI_TIENEMOTOCICLETA Tiene motocicleta?
FAMI_TIENECONSOLAVIDEOJUEGOS Tiene consola de videojuegos?
FAMI_NUMLIBROS Número de libros
FAMI_COMELECHEDERIVADOS El estudiante come leche o derivados
FAMI_COMECARNEPESCADOHUEVO El estudiante come carne, pescado, huevo
FAMI_COMECEREALFRUTOSLEGUMBRE El estudiante come cereal, frutos, legumbre
FAMI_SITUACIONECONOMICA Situación economica del estudiante
ESTU_DEDICACIONLECTURADIARIA Dedicacion lectura diaria del estudiante
ESTU_DEDICACIONINTERNET Dedicacion a internet del estudiante
ESTU_HORASSEMANATRABAJA Horas semanales trabajadas por el estudiante
ESTU_TIPOREMUNERACION Tipo de remuneracion del estudiante
COLE_CODIGO_ICFES Codigo Icfes
COLE_COD_DANE_ESTABLECIMIENTO Codigo DANE del establecimiento
COLE_NOMBRE_ESTABLECIMIENTO Nombre del establecimiento
COLE_GENERO Genero del colegio
COLE_NATURALEZA Naturaleza del colegio
COLE_CALENDARIO Calendario del colegio
COLE_BILINGUE Bilingue el colegio
COLE_CARACTER Tipo de caracter del colegio
COLE_COD_DANE_SEDE Código DANE de la sede
COLE_NOMBRE_SEDE Nombre de la sede
COLE_SEDE_PRINCIPAL Nombre de la sede principal
COLE_AREA_UBICACION Area de ubicacion del colegio
COLE_JORNADA Jornada del colegio
COLE_COD_MCPIO_UBICACION Codido Ubicacion - Municipio del colegio
COLE_MCPIO_UBICACION Ubicacion - Municipio del colegio
COLE_COD_DEPTO_UBICACION Codido Ubicacion - Departamento del colegio
COLE_DEPTO_UBICACION Ubicacion - Departamento del colegio
ESTU_PRIVADO_LIBERTAD Estudiante privado de la libertad
ESTU_COD_MCPIO_PRESENTACION Código del municipio de presentacion
ESTU_MCPIO_PRESENTACION Municipio de presentación
ESTU_DEPTO_PRESENTACION Departamento de presentación
ESTU_COD_DEPTO_PRESENTACION Código del departamento de presentacion
PUNT_LECTURA_CRITICA Puntaje del estudiante en el area de Lectura Critica
PERCENTIL_LECTURA_CRITICA Percentil del estudiante en el area de Lectura Critica
DESEMP_LECTURA_CRITICA Desempeño del estudiante en el area de Lectura Critica
PUNT_MATEMATICAS Puntaje del estudiante en el area de Matematicas
PERCENTIL_MATEMATICAS Percentil del estudiante en el area de Matematicas
DESEMP_MATEMATICAS Desempeño del estudiante en el area de Matematicas
PUNT_C_NATURALES Puntaje del estudiante en el area de Ciencias Naturales
PERCENTIL_C_NATURALES Percentil del estudiante en el area de Ciencias Naturales
DESEMP_C_NATURALES Desempeño del estudiante en el area de Ciencias Naturales
PUNT_SOCIALES_CIUDADANAS Puntaje del estudiante en el area de Sociales/Ciudadanas
PERCENTIL_SOCIALES_CIUDADANAS Percentil del estudiante en el area de Sociales/Ciudadanas
DESEMP_SOCIALES_CIUDADANAS Desempeño del estudiante en el area de Sociales/Ciudadanas
PUNT_INGLES Puntaje del estudiante en el area de Ingles
PERCENTIL_INGLES Percentil del estudiante en el area de Ingles
DESEMP_INGLES Desempeño del estudiante en el area de Ingles
PUNT_GLOBAL Puntaje global del estudiante
PERCENTIL_GLOBAL Percentil global del estudiante
ESTU_INSE_INDIVIDUAL Indicador de nivel socioeconomico
ESTU_NSE_INDIVIDUAL Nivel socioeconomico individual
ESTU_NSE_ESTABLECIMIENTO Nivel socioeconomico del establecimiento
ESTU_ESTADOINVESTIGACION Estado de investigación del estudiante
ESTU_GENERACION-E Ingresa a Generación E

Cargue de recursos

Se cargan las librerias

#setwd("F:/Octavo Semestre/Practicas/Entrega 1")

#LIBRERIAS EMPLEADAS
library("highcharter")
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library("caret")
## Loading required package: ggplot2
## Loading required package: lattice
library("dplyr")
## 
## Attaching package: '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")
library("ggplot2")
#CARGUE DEL DATASET
datos <- read.csv("Saber_11__2019-2.csv", sep = ",", header=T)
# MODA - !NO ESTA IMPLEMENTADA EN R!
getmode <- function(v) {
  uniqv <- unique(v)  
  uniqv[which.max(tabulate(match(v, uniqv)))] 
}

IDENTIFICACION DE VALORES ANOMALOS

Descripcion

BUSQUEDA DE DATOS ANOMALOS PARA VARIABLES CATEGORICAS

Descripcion

TIPO DE DOCUMENTO

NACIONALIDAD

GENERO

FECHA DE NACIMIENTO

CONSECUTIVO

ESTUDIANTE

TIENE ETNIA

PAIS DONDE RESIDE

ETNIA

DEPARTAMENTO EN EL QUE RESIDE

CODIGO DEPARTAMENTO EN EL QUE RESIDE

MUNICIPIO EN EL QUE RESIDE

CODIGO MUNICIPIO EN EL QUE RESIDE

ESTRATO VIVIENDA HOGAR

PERSONAS HOGAR

CUARTOS HOGAR

EDUCACION PADRE

EDUCACION MADRE

TRABAJO LABOR PADRE

TRABAJO LABOR MADRE

TIENE INTERNET

TIENE SERVICIO TV

TIENE COMPUTADOR

TIENE LAVADORA

TIENE HORNOMICROOGAS

TIENE AUTOMOVIL

TIENE MOTOCICLETA

TIENE CONSOLA DE VIDEOJUEGOS

NUMERO DE LIBROS

COME LECHE,DERIVADOS

COME CARNE,PESCADO,HUEVO

COME CEREAL,FRUTOS,LEGUMBRE

SITUACION ECONOMICA

DEDICACION LECTURA DIARIA

DEDICACION LECTURA INTERNET

HORAS SEMANALES TRABAJADAS

TIPO DE RENUMERACION

NOMBRE DEL ESTABLECIMIENTO

GENERO COLEGIO

NATURALEZA

CALENDARIO

BILINGUE

CARACTER

NOMBRE SEDE

NOMBRE SEDE PRINCIPAL

AREA DE UBICACION

JORNADA

MUNICIPIO DE UBICACION

DEPARTAMENTO DE UBICACION

ESTUDIANTE PRIVADO DE LIBERTAD

MUNICIPIO DE PRESENTACION

DEPARTAMENTO DE PRESENTACION

DESEMPENO INGLES

ESTUDIANTE ESTADO DE INVESTIGACION

ESTUDIANTE GENERACION E

BUSQUEDA DE DATOS ANOMALOS PARA VARIABLES NUMERICAS

PUNTAJE DEL ESTUDIANTE EN EL AREA DE LECTURA CRITICA

PERCENTIL DEL ESTUDIANTE EN EL AREA DE LECTURA CRITICA

DESEMPEÑO DEL ESTUDIANTE EN EL AREA DE LECTURA CRITICA

PUNTAJE DEL ESTUDIANTE EN EL AREA DE MATEMATICAS

PERCENTIL DEL ESTUDIANTE EN EL AREA DE MATEMATICAS

DESEMPEÑO DEL ESTUDIANTE EN EL AREA DE MATEMATICAS

PUNTAJE DEL ESTUDIANTE EN EL AREA DE CIENCIAS NATURALES

PERCENTIL DEL ESTUDIANTE EN EL AREA DE CIENCIAS NATURALES

DESEMPEÑO DEL ESTUDIANTE EN EL AREA DE CIENCIAS NATURALES

PUNTAJE DEL ESTUDIANTE EN EL AREA DE SOCIALES, CIUDADANAS

PERCENTIL DEL ESTUDIANTE EN EL AREA DE SOCIALES, CIUDADANAS

DESEMPEÑO DEL ESTUDIANTE EN EL AREA DE SOCIALES, CIUDADANAS

PUNTAJE DEL ESTUDIANTE EN EL AREA DE INGLES

PERCENTIL DEL ESTUDIANTE EN EL AREA DE INGLES

PUNTAJE GLOBAL DEL ESTUDIANTE

PERCENTIL GLOBAL DEL ESTUDIANTE

INDICE DE NIVEL SOCIOECONOMICO DEL ESTUDIANTE

NIVEL SOCIOECONOMICO DEL ESTUDIANTE

NIVEL DEL ESTABLECIMIENTO DEL ESTUDIANTE

ELIMINACION DE DATOS

Lo recomendable no es eliminar, En este caso se procede con la eliminación de datos debido a que en el dataset existen variables con datos de tipo caracter o numerico repetidos. En el caso del PERIODO (20194) y ESTUDIANTE (Estudiante) estos datos se repiten en todas las filas de estas mismas columnas.

datos$PERIODO <- NULL 
VARIABLES DE TIPO NUMERICO

Las variables mostradas acontinuación, Se hace la respectiva eliminacion del dataset debido a que no se tiene planeado tomarlas en cuenta para un analisis ya que estos datos son códigos.

datos$ESTU_CONSECUTIVO <- NULL
datos$ESTU_ESTUDIANTE <- NULL
datos$ESTU_COD_RESIDE_DEPTO <- NULL
datos$ESTU_COD_RESIDE_MCPIO <- NULL
datos$COLE_CODIGO_ICFES <- NULL
datos$COLE_COD_DANE_ESTABLECIMIENTO <- NULL
datos$COLE_COD_DANE_SEDE <- NULL
datos$COLE_COD_DEPTO_UBICACION <- NULL
datos$COLE_COD_MCPIO_UBICACION <- NULL
datos$ESTU_COD_DEPTO_PRESENTACION <- NULL
datos$ESTU_COD_MCPIO_PRESENTACION <- NULL
VARIABLES DE TIPO CARACTER

Las siguientes variables (FAMI_TIENESERVICIOTV, FAMI_TIENECONSOLAVIDEOJUEGOS, FAMI_TIENEHORNOMICROOGAS, FAMI_TIENELAVADORA) Son servicios que aunque se posean no se garantiza su uso o su relevancia en las pruebas, además, (FAMI_NUMLIBROS) Por mas que se posea demasiados libros no garantiza que estos sean leidos, vimos mas util el leer que el tener un libro

datos$FAMI_TIENESERVICIOTV <- NULL 
datos$FAMI_TIENECONSOLAVIDEOJUEGOS <- NULL 
datos$FAMI_TIENEHORNOMICROOGAS <- NULL 
datos$FAMI_TIENELAVADORA <- NULL 
datos$FAMI_NUMLIBROS <- NULL

CAMBIO DE FORMATO A DATE

Cambia el formato de la variable () que esta en “CHR” lo pasamos a tipo “DATE” con la sentencia siguiente

datos$ESTU_FECHANACIMIENTO <- as.Date(datos$ESTU_FECHANACIMIENTO,format="%m/%d/%Y")

CAMBIO DE VALORES ANOMALOS

Haciendo uso del método “replace_with_na” de la libreria “naniar” se reemplazan los datos anomalos encontrados en cada una de las variables.

datos <- replace_with_na(datos, replace = list(ESTU_GENERO = "-",
                                               ESTU_TIENEETNIA = "-",
                                               ESTU_ETNIA = "-",
                                               ESTU_DEPTO_RESIDE = "",
                                               ESTU_MCPIO_RESIDE = "",
                                               FAMI_ESTRATOVIVIENDA = c("","-"),
                                               FAMI_PERSONASHOGAR = c("","-"),
                                               FAMI_CUARTOSHOGAR = c("","-"),
                                               FAMI_EDUCACIONPADRE = c("","-"),
                                               FAMI_EDUCACIONMADRE = c("","-"),
                                               FAMI_TRABAJOLABORPADRE = c("","-"),
                                               FAMI_TRABAJOLABORMADRE = c("","-"),
                                               FAMI_TIENEINTERNET = c("","-"),
                                               FAMI_TIENECOMPUTADOR = c("","-"),
                                               FAMI_TIENEAUTOMOVIL = c("","-"),
                                               FAMI_TIENEMOTOCICLETA = c("","-"),
                                               FAMI_COMELECHEDERIVADOS = c("","-"),
                                               FAMI_COMECARNEPESCADOHUEVO = c("","-"),
                                               FAMI_COMECEREALFRUTOSLEGUMBRE = c("","-"),
                                               FAMI_SITUACIONECONOMICA = c("","-"),
                                               ESTU_DEDICACIONLECTURADIARIA  = c("","-"),
                                               ESTU_DEDICACIONINTERNET  = c("","-"),
                                               ESTU_HORASSEMANATRABAJA  = c("","-"),
                                               ESTU_TIPOREMUNERACION  = c("","-"),
                                               COLE_BILINGUE = "-",
                                               COLE_CARACTER = c("","-")))

CAMBIO DE DATOS NA

Reemplazar los datos anomalos “NA” por moda y media. Para la moda se toman los datos categoricos y la media los datos numericos.

Debido a la magnitud de datos que quedaron en NA, la moda cambio a ser NA por ello la asignación de esta variable se realiza de esta manera

datos$ESTU_ETNIA[is.na(datos$ESTU_ETNIA)] <- "Ninguno" 
DATOS CATEGORICOS
datos$ESTU_DEPTO_RESIDE[is.na(datos$ESTU_DEPTO_RESIDE)] <- getmode(datos$ESTU_DEPTO_RESIDE)
datos$ESTU_MCPIO_RESIDE[is.na(datos$ESTU_MCPIO_RESIDE)] <- getmode(datos$ESTU_MCPIO_RESIDE)
datos$ESTU_TIENEETNIA[is.na(datos$ESTU_TIENEETNIA)] <- getmode(datos$ESTU_TIENEETNIA)
datos$FAMI_ESTRATOVIVIENDA[is.na(datos$FAMI_ESTRATOVIVIENDA)] <- getmode(datos$FAMI_ESTRATOVIVIENDA)
datos$FAMI_PERSONASHOGAR[is.na(datos$FAMI_PERSONASHOGAR)] <- getmode(datos$FAMI_PERSONASHOGAR)
datos$FAMI_CUARTOSHOGAR[is.na(datos$FAMI_CUARTOSHOGAR)] <- getmode(datos$FAMI_CUARTOSHOGAR)
datos$FAMI_EDUCACIONPADRE[is.na(datos$FAMI_EDUCACIONPADRE)] <- getmode(datos$FAMI_EDUCACIONPADRE)
datos$FAMI_EDUCACIONMADRE[is.na(datos$FAMI_EDUCACIONMADRE)] <- getmode(datos$FAMI_EDUCACIONMADRE) 
datos$FAMI_TRABAJOLABORPADRE[is.na(datos$FAMI_TRABAJOLABORPADRE)] <- getmode(datos$FAMI_TRABAJOLABORPADRE)
datos$FAMI_TRABAJOLABORMADRE[is.na(datos$FAMI_TRABAJOLABORMADRE)] <- getmode(datos$FAMI_TRABAJOLABORMADRE)
datos$FAMI_TIENEINTERNET[is.na(datos$FAMI_TIENEINTERNET)] <- getmode(datos$FAMI_TIENEINTERNET)
datos$FAMI_TIENECOMPUTADOR[is.na(datos$FAMI_TIENECOMPUTADOR)] <- getmode(datos$FAMI_TIENECOMPUTADOR)
datos$FAMI_TIENEAUTOMOVIL[is.na(datos$FAMI_TIENEAUTOMOVIL)] <- getmode(datos$FAMI_TIENEAUTOMOVIL)
datos$FAMI_TIENEMOTOCICLETA[is.na(datos$FAMI_TIENEMOTOCICLETA)] <- getmode(datos$FAMI_TIENEMOTOCICLETA)
datos$FAMI_COMELECHEDERIVADOS[is.na(datos$FAMI_COMELECHEDERIVADOS)] <- getmode(datos$FAMI_COMELECHEDERIVADOS)
datos$FAMI_COMECARNEPESCADOHUEVO[is.na(datos$FAMI_COMECARNEPESCADOHUEVO)] <- getmode(datos$FAMI_COMECARNEPESCADOHUEVO)
datos$FAMI_COMECEREALFRUTOSLEGUMBRE[is.na(datos$FAMI_COMECEREALFRUTOSLEGUMBRE)] <- getmode(datos$FAMI_COMECEREALFRUTOSLEGUMBRE)
datos$FAMI_SITUACIONECONOMICA[is.na(datos$FAMI_SITUACIONECONOMICA)] <- getmode(datos$FAMI_SITUACIONECONOMICA)
datos$ESTU_DEDICACIONLECTURADIARIA[is.na(datos$ESTU_DEDICACIONLECTURADIARIA)] <- getmode(datos$ESTU_DEDICACIONLECTURADIARIA)
datos$ESTU_DEDICACIONINTERNET[is.na(datos$ESTU_DEDICACIONINTERNET)] <- getmode(datos$ESTU_DEDICACIONINTERNET)
datos$ESTU_HORASSEMANATRABAJA[is.na(datos$ESTU_HORASSEMANATRABAJA)] <- getmode(datos$ESTU_HORASSEMANATRABAJA)
datos$ESTU_TIPOREMUNERACION[is.na(datos$ESTU_TIPOREMUNERACION)] <- getmode(datos$ESTU_TIPOREMUNERACION)
datos$COLE_BILINGUE[is.na(datos$COLE_BILINGUE)] <- getmode(datos$COLE_BILINGUE)
datos$COLE_CARACTER[is.na(datos$COLE_CARACTER)] <- getmode(datos$COLE_CARACTER)

BUSQUEDA DE DATOS ANOMALOS PARA VARIABLES DE TIPO DATE

fechaNaci <- boxplot(datos$ESTU_FECHANACIMIENTO)

### CAMBIO DE DATOS EN DATE ###
datos$ESTU_FECHANACIMIENTO[datos$ESTU_FECHANACIMIENTO < "1950-01-01"] <- NA
datos$ESTU_FECHANACIMIENTO[datos$ESTU_FECHANACIMIENTO > "2005-01-01"] <- NA

DEJAMOS EN FORMATO QUE SOLO MUESTRE EL AÑO PARA FINES DE ANALISIS

datos$ESTU_FECHANACIMIENTO <- as.numeric(format(datos$ESTU_FECHANACIMIENTO,'%Y'))
datos$ESTU_FECHANACIMIENTO[is.na(datos$ESTU_FECHANACIMIENTO)] <- getmode(datos$ESTU_FECHANACIMIENTO)
DATOS NUMERICOS
datos$ESTU_NSE_ESTABLECIMIENTO[is.na(datos$ESTU_NSE_ESTABLECIMIENTO)] <- getmode(datos$ESTU_NSE_ESTABLECIMIENTO)
datos$ESTU_NSE_INDIVIDUAL[is.na(datos$ESTU_NSE_INDIVIDUAL)] <- getmode(datos$ESTU_NSE_INDIVIDUAL)
datos$PERCENTIL_GLOBAL[is.na(datos$PERCENTIL_GLOBAL)] <- getmode(datos$PERCENTIL_GLOBAL)
datos$PUNT_GLOBAL[is.na(datos$PUNT_GLOBAL)] <- getmode(datos$PUNT_GLOBAL)
datos$PERCENTIL_INGLES[is.na(datos$PERCENTIL_INGLES)] <- getmode(datos$PERCENTIL_INGLES)
datos$PUNT_INGLES[is.na(datos$PUNT_INGLES)] <- getmode(datos$PUNT_INGLES)
datos$DESEMP_SOCIALES_CIUDADANAS[is.na(datos$DESEMP_SOCIALES_CIUDADANAS)] <- getmode(datos$DESEMP_SOCIALES_CIUDADANAS)
datos$PERCENTIL_SOCIALES_CIUDADANAS[is.na(datos$PERCENTIL_SOCIALES_CIUDADANAS)] <- getmode(datos$PERCENTIL_SOCIALES_CIUDADANAS)
datos$PUNT_SOCIALES_CIUDADANAS[is.na(datos$PUNT_SOCIALES_CIUDADANAS)] <- getmode(datos$PUNT_SOCIALES_CIUDADANAS)
datos$DESEMP_C_NATURALES[is.na(datos$DESEMP_C_NATURALES)] <- getmode(datos$DESEMP_C_NATURALES)
datos$PERCENTIL_C_NATURALES[is.na(datos$PERCENTIL_C_NATURALES)] <- getmode(datos$PERCENTIL_C_NATURALES)
datos$PUNT_C_NATURALES[is.na(datos$PUNT_C_NATURALES)] <- getmode(datos$PUNT_C_NATURALES)
datos$DESEMP_MATEMATICAS[is.na(datos$DESEMP_MATEMATICAS)] <- getmode(datos$DESEMP_MATEMATICAS)
datos$PERCENTIL_MATEMATICAS[is.na(datos$PERCENTIL_MATEMATICAS)] <- getmode(datos$PERCENTIL_MATEMATICAS)
datos$PUNT_MATEMATICAS[is.na(datos$PUNT_MATEMATICAS)] <- getmode(datos$PUNT_MATEMATICAS)
datos$DESEMP_LECTURA_CRITICA[is.na(datos$DESEMP_LECTURA_CRITICA)] <- getmode(datos$DESEMP_LECTURA_CRITICA)
datos$PERCENTIL_LECTURA_CRITICA[is.na(datos$PERCENTIL_LECTURA_CRITICA)] <- getmode(datos$PERCENTIL_LECTURA_CRITICA)
datos$PUNT_LECTURA_CRITICA[is.na(datos$ESTU_FECHANACIMIENTO)] <- getmode(datos$PUNT_LECTURA_CRITICA)

TABLAS - CAMBIOS REALIZADOS”

Mostramos las gráficas de las variables en las cuales anteriormente se hallaron valores anomalos.

GRAFICAS DE TIPO CARACTER

GENERO

TIENE ETNIA

ETNIA

DEPARTAMENTO EN EL QUE RESIDE

MUNICIPIO EN EL QUE RESIDE

ESTRATO VIVIENDA

PERSONAS HOGAR

CUARTOS HOGAR

EDUCACION PADRE

EDUCACION MADRE

TRABAJO LABOR PADRE

TRABAJO LABOR MADRE

TIENE INTERNET

TIENE COMPUTADOR

TIENE AUTOMOVIL

TIENE MOTOCICLETA

COME LECHE,DERIVADOS

COME CARNE,PESCADO,HUEVO

COME CEREAL,FRUTOS,LEGUMBRE

SITUACION ECONOMICA

DEDICACION LECTURA DIARIA

DEDICACION LECTURA INTERNET

HORAS SEMANALES TRABAJADAS

TIPO DE RENUMERACION

BILINGUE

CARACTER

GRAFICAS DE TIPO NUMERICO

PUNTAJE DEL ESTUDIANTE EN EL AREA DE LECTURA CRITICA

PERCENTIL DEL ESTUDIANTE EN EL AREA DE LECTURA CRITICA

DESEMPEÑO DEL ESTUDIANTE EN EL AREA DE LECTURA CRITICA

PUNTAJE DEL ESTUDIANTE EN EL AREA DE MATEMATICAS

PERCENTIL DEL ESTUDIANTE EN EL AREA DE MATEMATICAS

DESEMPEÑO DEL ESTUDIANTE EN EL AREA DE MATEMATICAS

PUNTAJE DEL ESTUDIANTE EN EL AREA DE CIENCIAS NATURALES

PERCENTIL DEL ESTUDIANTE EN EL AREA DE CIENCIAS NATURALES

DESEMPEÑO DEL ESTUDIANTE EN EL AREA DE CIENCIAS NATURALES

PUNTAJE DEL ESTUDIANTE EN EL AREA DE SOCIALES, CIUDADANAS

PERCENTIL DEL ESTUDIANTE EN EL AREA DE SOCIALES, CIUDADANAS

DESEMPEÑO DEL ESTUDIANTE EN EL AREA DE SOCIALES, CIUDADANAS

PUNTAJE DEL ESTUDIANTE EN EL AREA DE INGLES

PERCENTIL DEL ESTUDIANTE EN EL AREA DE INGLES

PUNTAJE GLOBAL DEL ESTUDIANTE

PERCENTIL GLOBAL DEL ESTUDIANTE

INDICE DE NIVEL SOCIOECONOMICO DEL ESTUDIANTE

NIVEL SOCIOECONOMICO DEL ESTUDIANTE

NIVEL DEL ESTABLECIMIENTO DEL ESTUDIANTE

CAMBIO A DATOS DE CARACTER ENTERO

Optamos por cambiar los datos a numericos para poder manejar esas cifras las cuales o bien hacen referencia a un nivel socioeconomico o bien al percentil global

datos$ESTU_NSE_INDIVIDUAL <- as.numeric(datos$ESTU_NSE_INDIVIDUAL)
## Warning: NAs introducidos por coerción
datos$ESTU_INSE_INDIVIDUAL <- as.numeric(datos$ESTU_INSE_INDIVIDUAL)
## Warning: NAs introducidos por coerción
datos$PERCENTIL_GLOBAL <- as.numeric(datos$PERCENTIL_GLOBAL)
## Warning: NAs introducidos por coerción
datos$ESTU_INSE_INDIVIDUAL[is.na(datos$ESTU_INSE_INDIVIDUAL)] <- ceiling(mean(datos$ESTU_INSE_INDIVIDUAL, na.rm=TRUE))
datos$ESTU_NSE_INDIVIDUAL[is.na(datos$ESTU_NSE_INDIVIDUAL)] <- ceiling(mean(datos$ESTU_NSE_INDIVIDUAL, na.rm=TRUE))
datos$PERCENTIL_GLOBAL[is.na(datos$PERCENTIL_GLOBAL)] <- ceiling(mean(datos$PERCENTIL_GLOBAL, na.rm=TRUE))

VISUALIZACIÓN DE DATOS SIN SER CHR

Variable con datos out mas son validos porque no superan los 100 puntos que son sus extremos

estuInseIndi <- boxplot(datos$ESTU_INSE_INDIVIDUAL,
                        col="lightseagreen", xlab="", ylab="",
                        main="Indice de nivel socioeconomico individual",
                        horizontal=T) 

GENERACION DEL NUEVO DATASET

Se genera un nuevo .csv con la limpieza de datos realizada, Finalizado los procesos anteriores se continua a exportar el dataset limpio, sin valores anomalos para su respectivo analis

write.csv(datos, file="ArchivoEntrega1.csv", row.names = F)

CARGUE DEL DATASET LIMPIO

Cargue del dataset sin valores anomalos es decir el dataset limpio

datos <- read.csv("ArchivoEntrega1.csv", sep = ",", header=T)

PROCESO DE DISCRETIZACION

datos['segmentoPuntajeGlobal'] <- cut(datos$PUNT_GLOBAL, breaks = c(0,100,200,300,400,501), 
                                      labels = c("0 - 99", "100 - 199", "200 - 299", "300 - 399", "400 - 500"))

hchart(datos$segmentoPuntajeGlobal, "column", name = "Puntaje Global") %>% 
  hc_add_theme(hc_theme_darkunica()) %>%
  hc_title(text= "Discretizacion del Puntaje Global") %>% 
  hc_legend(enabled= FALSE) %>%
  hc_xAxis(title = list(text = "Puntajes Globales"))%>%
  hc_yAxis(title = list(text = "Cantidad de datos"))

PROCESO DE NUMERIZACION

dataFrameEtnico <- data.frame(datos$ESTU_ETNIA)
etniaCategorias <- dummyVars(" ~ .", data=dataFrameEtnico)
dataFrameNumerizado <- data.frame(predict(etniaCategorias, newdata=dataFrameEtnico))
names(dataFrameNumerizado) <- c("Arhuaco", "Cancuamo", "Comunidad Afrodescendiente", "Comunidad Rom (Gitanas)", "Cubeo", "Embera", "Guambiano", "Huitoto", "Inga", "Ninguno", "Otro grupo etnico minoritario", "Paez", "Palenquero", "Pasto", "Pijao", "Raizal", "Sikuani", "Tucano", "Wayuu", "Zenu")
View(dataFrameNumerizado)

PROCESO DE NORMALIZACION

Definir la función de normalización Min-Max

min_max_norm <- function(x){
  (x - min(x))/(max(x) - min(x))
}

# Asigno a un dataset las variables cuantitativas
# Asigno a un dataset las variables cuantitativas
datasetCuantico <- data.frame(datos$PUNT_LECTURA_CRITICA,datos$PERCENTIL_LECTURA_CRITICA,
                              datos$DESEMP_LECTURA_CRITICA, datos$PUNT_MATEMATICAS,
                              datos$PERCENTIL_MATEMATICAS, datos$DESEMP_MATEMATICAS,
                              datos$PUNT_C_NATURALES, datos$PERCENTIL_C_NATURALES,
                              datos$DESEMP_C_NATURALES,datos$PUNT_SOCIALES_CIUDADANAS,
                              datos$PERCENTIL_SOCIALES_CIUDADANAS,datos$DESEMP_SOCIALES_CIUDADANAS,
                              datos$PUNT_INGLES,datos$PERCENTIL_INGLES,datos$PUNT_GLOBAL,
                              datos$PERCENTIL_GLOBAL,datos$ESTU_INSE_INDIVIDUAL,
                              datos$ESTU_NSE_INDIVIDUAL,datos$ESTU_NSE_ESTABLECIMIENTO,
                              datos$ESTU_FECHANACIMIENTO
                              )

datosNorma <- datasetCuantico%>% mutate_each_(list (~ scale (.)%>% as.vector),
                                  vars = c ("datos.PUNT_LECTURA_CRITICA","datos.PERCENTIL_LECTURA_CRITICA",
                                            "datos.DESEMP_LECTURA_CRITICA","datos.PUNT_MATEMATICAS",
                                            "datos.PERCENTIL_MATEMATICAS","datos.DESEMP_MATEMATICAS",
                                            "datos.PUNT_C_NATURALES","datos.PERCENTIL_C_NATURALES",
                                            "datos.DESEMP_C_NATURALES","datos.PUNT_SOCIALES_CIUDADANAS",
                                            "datos.PERCENTIL_SOCIALES_CIUDADANAS","datos.DESEMP_SOCIALES_CIUDADANAS",
                                            "datos.PUNT_INGLES","datos.PERCENTIL_INGLES",
                                            "datos.PUNT_GLOBAL","datos.PERCENTIL_GLOBAL",
                                            "datos.ESTU_INSE_INDIVIDUAL","datos.ESTU_NSE_INDIVIDUAL",
                                            "datos.ESTU_NSE_ESTABLECIMIENTO","datos.ESTU_FECHANACIMIENTO"))
## Warning: `mutate_each_()` was deprecated in dplyr 0.7.0.
## Please use `across()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was generated.
View(datosNorma)

GRAFICAS

GRAFICA #1

PLANTEAMIENTO

Mostrar los estratos con el puntaje global.

datosGraficaUno <- data.frame(datos$FAMI_ESTRATOVIVIENDA, datos$PUNT_GLOBAL)

resultado <- datos %>%
  count(ESTU_GENERO, FAMI_ESTRATOVIVIENDA)

hchart(resultado, "column", hcaes(x = FAMI_ESTRATOVIVIENDA, y = n, group = ESTU_GENERO)) %>%
  hc_title(text = "Cantidad de personas de cierto estrato diferenciado en su genero") %>%
  hc_add_theme(hc_theme_darkunica()) %>% hc_caption(text= "Basado en Datos del ICFES 2019-2") %>%
  hc_xAxis(title = list(text = "Estrato de la Vivienda"))%>%
  hc_yAxis(title = list(text = "Cantidad de DATOS"))

JUSTIFICACION

Grafica usada con el proposito de conocer que nivel de vida predomina en los datos recolectados a partir de su vivienda como un bien material que a nuestro parecer es bastante significativo en este aspecto.

HALLAZGOS

  1. De las personas que presentan las ICFES de estratos bajos predominan las mujeres.
  2. La mayoria de las personas que presenta las ICFES son de estrato bajo.
  3. En el estrato 3, mujeres como hombres estan casi a la par en numero.
  4. Las personas de estrato 6 son las mas pocas en las ICFES.
  5. Las zonas designadas para presentar las ICFES deberian estar mayoritamiamente en sectores cercanos o bien en los estratos 1,2 y 3.
  6. El estrato 4 fue el unico en donde asistieron mas hombres a las pruebas ICFES.
GRAFICA #2

PLANTEAMIENTO

datosGraficaTree <- datos %>%
  count(ESTU_DEPTO_RESIDE)

hchart(datosGraficaTree, "treemap", hcaes(x = ESTU_DEPTO_RESIDE, value = n, color = n)) %>% hc_title(text= "Distribucion de las personas que presentaron las pruebas ICFES por departamentos") %>% hc_add_theme(hc_theme_sandsignika()) %>% hc_caption(text= "Basado en Datos del ICFES 2019-2")

JUSTIFICACION

Grafica creada con el objetivo de dar claridad de como fue la distribución de las personas en las pruebas ICFES y que lugares representaron mayor concurrencia.

HALLAZGOS

  1. Bogotá logro encabezar el número de personas que presentaron la prueba por diez mil datos de más.
  2. Antioquia logra ubicarse en segunda posición bastante cerca del primer puesto.
  3. Guaviare ocupo el ultimo lugar con 1017 personas que presentaron el ICFES.
  4. Aun siendo Caqueta un departamento bastante grande fue de los ultimos en personas que presentaran las ICFES.
  5. En los departamentos donde se encuentran ciudades muy relevantes en avance para Colombia lograron estar en cabeza.
  6. Va incrementando porcentualmente el número de personas que presentan las ICFES por departamento.
GRAFICA #3

PLANTEAMIENTO

datasetLine = datos %>% group_by(ESTU_FECHANACIMIENTO) %>%
  summarise(totalPuntaje = mean(PUNT_GLOBAL),
            .groups = 'drop')

  
hchart(datasetLine, "line", hcaes( x = ESTU_FECHANACIMIENTO, y = totalPuntaje, group = ESTU_FECHANACIMIENTO)) %>% hc_add_theme(hc_theme_google()) %>% hc_title(text= "Promedio del puntaje global respecto al año de nacimiento") %>% hc_xAxis(title = list(text = "Año de Nacimiento")) %>%
  hc_yAxis(title = list(text = "Promedio Puntaje Global")) %>% hc_legend(enabled= FALSE) %>% hc_caption(text= "Basado en Datos del ICFES 2019-2")

JUSTIFICACION

Grafica creada con el objetivo de conocer que promedio obtuvieron las personas que presentaron el ICFES teniendo como filtro su año de nacimiento

HALLAZGOS

  1. Los años de nacimiento mas cercano al presente obtuvieron un promedio mas alto respecto a años de nacimiento mas antiguos
  2. Los años de nacimiento desde el 1950 al 1965 tuvieron una variedad en su promedio mas fluctuante respecto a años siguientes
  3. Desde 1967 hasta 1997 finalizo con el promedio obtenido subiendo 13 puntos
  4. Desde 1999 hasta 2004 hubo un alza en el promedio
  5. 2005 obtuvo un promedio que no supero al año anterior siendo el primer año de los 2000 en no lograrlo.
  6. 1951 obtuvo un promedio de 201 puntos y 1998 obtuvo un promedio de 203 puntos diferenciandose por aproximadamente 2 puntos
GRAFICA #4

PLANTEAMIENTO

boxplotData <- data_to_boxplot(datos
                                 ,PUNT_LECTURA_CRITICA
                                 ,FAMI_TIENEINTERNET
                                 ,group_var     = FAMI_TIENEINTERNET
                                 ,add_outliers  = FALSE
                                 ,fillColor     = c("yellow", "pink")
                                 , color        = "black"
                                 
)

highchart()%>%
  hc_xAxis(type ="category")%>%
  hc_add_series_list(boxplotData)%>%
  hc_xAxis(title = list(text = "Tienen Internet"))%>%
  hc_yAxis(title = list(text = "Puntaje Lectura Critica"))%>%
  hc_title(text= "Puntaje Lectura Critica como base el tener Internet") %>% 
  hc_subtitle(text= "Relacion Internet respecto al puntaje de la lectura Critica") %>% 
  hc_caption(text= "Basado en Datos del ICFES 2019-2")%>% 
  hc_legend(enabled= FALSE)

JUSTIFICACION

Grafica creada con el objetivo de conocer las diferencias que se presentan en el poseer internet o no para la lectura critica

HALLAZGOS

  1. La media del poseer internet respecto al puntaje en la lectura critica es de 54 mientras los que no poseen internet disminuye a 49
  2. El boxplot para los datos del no tener internet son mas bajos que los que tienen internet
  3. Los cambios de valor entre los que tienen o no internet ronda los cinco puntos
  4. Ambos boxplot se mantienen cerca de una media de 50 puntos
  5. Ningun boxplot se encuentra en el cero o los 100 puntos
  6. Los dos boxplot no se encuentran en extremos de la grafica respecto el uno del otro
GRAFICA #5

PLANTEAMIENTO

datosTablaCinco = datos %>% group_by(DESEMP_INGLES) %>%
  summarise(totalPuntaje = mean(PUNT_INGLES),
            .groups = 'drop')


hchart(datosTablaCinco, "pie", hcaes(x = DESEMP_INGLES, y = totalPuntaje), name = "Promedio") %>% 
  hc_add_theme(hc_theme_db()) %>%
  hc_title(text= "Desempeño en ingles respecto al promedio de los puntajes de ingles") %>% 
  hc_subtitle(text= "Relacion Desempeño en ingles - Puntajes de ingles") %>% 
  hc_caption(text= "Basado en Datos del ICFES 2019-2")

JUSTIFICACION

Grafica creada con el objetivo de conocer el promedio de los puntajes respecto al desempeño en ingles asignado, buscando de esta manera saber si estos valores se adaptan al estandar de A- poseer el menor puntaje hasta B+ ser el de mas puntaje

HALLAZGOS

  1. Tienen corelacion con el orden de los niveles al medir el desempeño en ingles
  2. A- es la casilla con el promedio mas bajo, mientras B+ posee el promedio mas alto
  3. A medida que se sube en la escala de niveles tambien lo hacen los promedios
  4. A- es el promedio que mas se aleja en valor respecto a todos los demas niveles de desempeño
  5. La diferencia de promedios no supera los 15 puntos
GRAFICA #6

PLANTEAMIENTO

datosTablaSeis = datos %>% group_by(ESTU_ETNIA) %>%
  summarise(totalPuntaje = mean(ESTU_INSE_INDIVIDUAL),
            .groups = 'drop')

hchart(datosTablaSeis, "scatter", hcaes(x = ESTU_ETNIA, y = totalPuntaje, group = ESTU_ETNIA)) %>%
  hc_add_theme(hc_theme_economist()) %>%
  hc_title(text= "Dispersión de las etnias a partir del promedio del INSE") %>% 
  hc_subtitle(text= "Indice De nivel Socioeconomico ( INSE )") %>% 
  hc_caption(text= "Basado en Datos del ICFES 2019-2") %>% 
  hc_legend(enabled= FALSE) %>%
  hc_xAxis(title = list(text = "ETNIAS"))%>%
  hc_yAxis(title = list(text = "Promedio del INSE"))

JUSTIFICACION

Grafica creada con el objetivo de conocer cual es la dispersión entre las diferentes etnias tomando como base su nivel socioeconomico.

HALLAZGOS

  1. Raizal posee un mayor INSE respecto a las demas etnias
  2. Cubeo posee el menor INSE respecto a las demas etnias
  3. Las tres etnias con menor INSE ( Cubeo, Paez, Sikuani) mantienen un mismo valor entero lo que cambia son decimales
  4. Se encuentran mas etnias por dejabo de un promedio de 45 puntos del INSE de las que se encuentran por encima
  5. Dos etnias han alcanzado el umbral de los 50 puntos de su promedio en su INSE