1. Introducción

El presente documento realiza una réplica del artículo “Determinantes del rendimiento académico de la educación media en el Departamento de Nariño, Colombia” de Diego Danilo Rodríguez Rosero, Ruber Erlinton Ordoñez Ortega y Mario Eduardo Hidalgo Villota, publicado en la revista de Lecturas de Economía de la Udea (Hidalgo, Rodríguez y Ordoñez, 2021). El artículo original se propone “(…) identificar determinantes que explican el rendimiento académico en la educación media en el departamento de Nariño” (91). Para lograr esto, los autores utilizan modelos logit y probit ordinales para estimar la probabilidad de obtener puntajes más altos, interpretados como mejoras en el rendimiento académico.

El escrito original se estructura en cinco secciones: 1) presenta literatura relacionada con la educación media en Colombia, la Prueba Saber 11, y la teoría del capital humano en relación con el rendimiento académico, 2) presenta y explica los datos y los modelos logit y probit ordenados utilizados en el análisis, 3) presenta los resultados con el uso de estadística descriptiva y muestra los resultados de los modelos, 4) interpreta los resultados y analiza la influencia de algunos determinantes en el rendimiento académico, 5) concluye la investigación.

El propósito de esta réplica es comparar los resultados obtenidos en el artículo original basado en datos del ICFES de la Prueba Saber 11 del año 2018 para el departamento de Nariño, con los datos del segundo semestre del 2019 para el departamento de Santander. El objetivo principal es evaluar si las conclusiones extraídas en el estudio original se mantienen válidas en este contexto específico.

2. Rendimiento académico en los estudiantes de educación media en Colombia

Rodríguez, Ordoñez y Hidalgo presentan un marco teórico que aborda la educación media en Colombia, centrándose en la Prueba Saber 11 y la teoría del capital humano. Empieza por definir la educación media en Colombia y el propósito de las Pruebas Saber 11, que se utiliza como medida del desarrollo de las competencias básicas que debe adquirir un estudiante en la vida escolar (92). En cuanto al capital humano destaca la inversión en educación como esencial para el crecimiento económico y el bienestar (92). Se revisa la teoría del capital humano desde distintos enfoques. Por una parte, esta teoría sostiene que la inversión en la formación y educación de las personas es esencial para el crecimiento económico y el bienestar de las naciones y proporciona a los trabajadores habilidades que les permiten acceder a empleos mejor remunerados y mejorar su calidad de vida (93). Sin embargo, existen críticas a esta teoría, ya que se enfoca principalmente en aspectos económicos y de productividad, pasando por alto dimensiones humanas y culturales de la educación. Además, se revisa la “Teoría de la reproducción” que sugiere que el sistema educativo a menudo perpetúa las desigualdades sociales y culturales al transmitir valores y jerarquías preexistentes(94).

Los autores definen el desempeño académico y destacan varios factores que influyen en este, incluyendo factores personales, familiares e institucionales. Entre estas variables están “el nivel educativo de los padres, el nivel de ingreso del hogar, el género, la naturaleza del colegio y su ubicación, las horas de dedicación al estudio y acceso a la tecnología” (95). Los autores argumentan que la posición socioeconómica no afecta las calificaciones cuando se controla la inteligencia (97). En su lugar, subrayan la influencia de las actitudes de los padres, el apoyo emocional en el hogar y el esfuerzo del estudiante (98). Además, se menciona que persisten las desigualdades de género en la educación (99). Se establece que la calidad de la educación varía entre instituciones públicas y privadas, y las zonas rurales a menudo tienen un rendimiento académico más bajo debido a la falta de recursos (99). También se destaca la importancia del tiempo y el esfuerzo autónomo del estudiante, así como el acceso a la tecnología (100), como factores cruciales en el rendimiento académico.

3. Datos trabajados

Los datos del documento de Rodríguez, Ordoñez y Hidalgo son tomados de la base de datos del ICFES de la Prueba Saber 11 2018 tomando una muestra de 14022 estudiantes de educación media en el departamento de Nariño. Para el análisis se utilizan dos modelos: logit y probit ordinales. Los autores tomaron como variable dependiente politómica el puntaje percentil del ICFES clasificado en cuatro categorías: puntaje insuficiente (de 0 a 35), mínimo (de 36 a 50), satisfactorio (de 51 a 65) y avanzado (de 66 a 100).

Para la elaboración de la réplica se usó los datos del ICFES de la Prueba Saber 11 2019 en el segundo semestre para el departamento de Santander obtenidas en las bases de datos del ICFES. Se seleccionaron las variables de estudio incluyendo las consideradas por los autores, estas son: género, naturaleza del colegio, área de ubicación, nivel educativo del padre, nivel educativo de la madre. Además, con fines de evaluar un modelo logit y probit dicotómico, la variable dependiente se clasifica en bajo (de 0 a 50) y alto (de 50 a 100).

Fuente: Elaboración propia

Teoría del Modelo Logit ordenado

En esta parte los autores comentan la pertinencia de los modelos de elección discreta para identificar los factores familiares, personales e institucionales que inciden en los resultados académicos de la educación media en Nariño. El modelo tiene una variable dependiente Yi que denota el nivel de calificación obtenido por el individuo entre 0 y 100. Para la réplica se denota Yi de esta manera:

Teoría del Modelo Probit Ordenado

Los autores introducen el modelo probit ordenado como aquel que se utiliza para modelar cómo las variables explicativas afectan la probabilidad de pertenecer a una categoría específica en una variable ordenada, en este caso, el rendimiento acádemico con las categorías: insuficiente, mínimo, satisfactorio y avanzado. Así se denota Yi en la réplica:

Resultados

En general, los resultados del estudio del 2018 para el departamento de Nariño con respecto al de Santander para el segundo semestre del 2019 se mantienen.

Al igual que en el 2018, los hombres presentan mejor rendimiento académico que las mujeres argumentado en sus puntajes levemente superiores como se evidencia en la imagen 5.

El gráfico 2 reafirma la hipótesis de que el rendimiento académico no está determinado por el estrato, pueden existir otros factores. El estrato 1, 2, y 3 representan la mayoría del puntaje en ambas categorías, sin embargo, es mayor en la categoría Alto.

El gráfico 3 muestra que hay un mayor porcentaje de estudiantes que no trabajan y a pesar de que representan la mayoría en las dos categorías, quienes trabajan menos tienden a obtener mejores resultados.

En el departamento de Santander, se encontró al igual que los autores (Imagen 1) que el nivel educativo de los padres y madres se concentra en básico y media.

A diferencia de los hallazgos de Hidalgo, Rodríguez y Ordoñez, en el departamento de Santander hay mayor acceso a un computador (59%) y a internet (64%) (Ver imagen 2), lo que demuestra una mejora en la accesibilidad a tecnología, variación que no se debe necesariamente a un cambio en el tiempo.

El gráfico 4 valida los resultados de los autores en cuanto a las diferencias entre colegios públicos y privados. El rendimiento académico es mayor para los colegios oficiales. Sin embargo, se encuentra que para Santander la diferencia entre los dos tipos de instituciones es mayor.

La imagen 5 muestra los estudiantes que se encuentran en categoría Alto. Los datos se concentran en los estratos 1, 2, y 3. Aunque las diferencias entre áreas es poca, se evidencia una leve brecha en el área de inglés particularmente para el estrato 1.

Los estudiantes de instituciones no oficiales tienden a tener diferencias entre las áreas. Para el caso del 2019, quienes obtuvieron un puntaje alto presentaron deficiencias en el área de ciencias sociales, mientras que los estudiantes de colegios no oficiales presentan mejores resultados en todas las áreas (imagen 4).

La imagen 5 reafirma los resultados de Hidalgo, Rodríguez y Ordoñez, y del ICFE, teniendo en cuenta que los hombres tienen mejores resultados en el área de matemáticas.

Ser hombre aumenta en un 7% la probabilidad de tener mejor rendimiento académico. Así mismo, pertenecer a un colegio oficial y que se encuentre en área urbana tiene un efecto positivo en los puntajes obtenidos. A medida que aumenta el nivel educativo tanto de la madre como del padre, aumenta la probabilidad de obtener mejores resultados.

El estrato socioeconómico no tiene significancia en el modelo reafirmando así el argumento presentado por los autores de que el nivel social no tiene gran influencia en el rendimiento académico. Tener computador aumenta la probabilidad de tener mejor rendimiento académico un 6%, mientras que tener internet un 1%, por lo que es más útil para los estudiantes acceder a un computador.

El rendimiento académico tiene una relación negativa con las horas de trabajo semanal del estudiante. En el caso de aquellos que trabajan más de 30 horas disminuyen su probabilidad de tener alto rendimiento académico en 20%.

Un mayor nivel de educación de los padres de familia, en especial un nivel de posgrado, aumenta un 38% la probabilidad de obtener un rendimiento acádemico alto.

Gráfico 1. Resultados de la Prueba Saber 11 según género

library(readr)
Saber_11_2019_2 <- read_csv("D:/USUARIO/Downloads/Saber_11__2019-2.csv")
## Warning: One or more parsing issues, call `problems()` on your data frame for details,
## e.g.:
##   dat <- vroom(...)
##   problems(dat)
## Rows: 512050 Columns: 82
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (61): ESTU_TIPODOCUMENTO, ESTU_NACIONALIDAD, ESTU_GENERO, ESTU_FECHANACI...
## dbl (21): PERIODO, COLE_COD_DANE_ESTABLECIMIENTO, COLE_COD_DANE_SEDE, PUNT_L...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(Saber_11_2019_2)
attach(Saber_11_2019_2)
names(Saber_11_2019_2)
##  [1] "ESTU_TIPODOCUMENTO"            "ESTU_NACIONALIDAD"            
##  [3] "ESTU_GENERO"                   "ESTU_FECHANACIMIENTO"         
##  [5] "PERIODO"                       "ESTU_CONSECUTIVO"             
##  [7] "ESTU_ESTUDIANTE"               "ESTU_TIENEETNIA"              
##  [9] "ESTU_PAIS_RESIDE"              "ESTU_ETNIA"                   
## [11] "ESTU_DEPTO_RESIDE"             "ESTU_COD_RESIDE_DEPTO"        
## [13] "ESTU_MCPIO_RESIDE"             "ESTU_COD_RESIDE_MCPIO"        
## [15] "FAMI_ESTRATOVIVIENDA"          "FAMI_PERSONASHOGAR"           
## [17] "FAMI_CUARTOSHOGAR"             "FAMI_EDUCACIONPADRE"          
## [19] "FAMI_EDUCACIONMADRE"           "FAMI_TRABAJOLABORPADRE"       
## [21] "FAMI_TRABAJOLABORMADRE"        "FAMI_TIENEINTERNET"           
## [23] "FAMI_TIENESERVICIOTV"          "FAMI_TIENECOMPUTADOR"         
## [25] "FAMI_TIENELAVADORA"            "FAMI_TIENEHORNOMICROOGAS"     
## [27] "FAMI_TIENEAUTOMOVIL"           "FAMI_TIENEMOTOCICLETA"        
## [29] "FAMI_TIENECONSOLAVIDEOJUEGOS"  "FAMI_NUMLIBROS"               
## [31] "FAMI_COMELECHEDERIVADOS"       "FAMI_COMECARNEPESCADOHUEVO"   
## [33] "FAMI_COMECEREALFRUTOSLEGUMBRE" "FAMI_SITUACIONECONOMICA"      
## [35] "ESTU_DEDICACIONLECTURADIARIA"  "ESTU_DEDICACIONINTERNET"      
## [37] "ESTU_HORASSEMANATRABAJA"       "ESTU_TIPOREMUNERACION"        
## [39] "COLE_CODIGO_ICFES"             "COLE_COD_DANE_ESTABLECIMIENTO"
## [41] "COLE_NOMBRE_ESTABLECIMIENTO"   "COLE_GENERO"                  
## [43] "COLE_NATURALEZA"               "COLE_CALENDARIO"              
## [45] "COLE_BILINGUE"                 "COLE_CARACTER"                
## [47] "COLE_COD_DANE_SEDE"            "COLE_NOMBRE_SEDE"             
## [49] "COLE_SEDE_PRINCIPAL"           "COLE_AREA_UBICACION"          
## [51] "COLE_JORNADA"                  "COLE_COD_MCPIO_UBICACION"     
## [53] "COLE_MCPIO_UBICACION"          "COLE_COD_DEPTO_UBICACION"     
## [55] "COLE_DEPTO_UBICACION"          "ESTU_PRIVADO_LIBERTAD"        
## [57] "ESTU_COD_MCPIO_PRESENTACION"   "ESTU_MCPIO_PRESENTACION"      
## [59] "ESTU_DEPTO_PRESENTACION"       "ESTU_COD_DEPTO_PRESENTACION"  
## [61] "PUNT_LECTURA_CRITICA"          "PERCENTIL_LECTURA_CRITICA"    
## [63] "DESEMP_LECTURA_CRITICA"        "PUNT_MATEMATICAS"             
## [65] "PERCENTIL_MATEMATICAS"         "DESEMP_MATEMATICAS"           
## [67] "PUNT_C_NATURALES"              "PERCENTIL_C_NATURALES"        
## [69] "DESEMP_C_NATURALES"            "PUNT_SOCIALES_CIUDADANAS"     
## [71] "PERCENTIL_SOCIALES_CIUDADANAS" "DESEMP_SOCIALES_CIUDADANAS"   
## [73] "PUNT_INGLES"                   "PERCENTIL_INGLES"             
## [75] "DESEMP_INGLES"                 "PUNT_GLOBAL"                  
## [77] "PERCENTIL_GLOBAL"              "ESTU_INSE_INDIVIDUAL"         
## [79] "ESTU_NSE_INDIVIDUAL"           "ESTU_NSE_ESTABLECIMIENTO"     
## [81] "ESTU_ESTADOINVESTIGACION"      "ESTU_GENERACION-E"
Saber11_2019_2_Santander <- subset(Saber_11_2019_2, ESTU_DEPTO_RESIDE == "SANTANDER")
Saber11_2019_2_Santander
## # A tibble: 24,020 × 82
##    ESTU_TIPODOCUMENTO ESTU_NACIONALIDAD ESTU_GENERO ESTU_FECHANACIMIENTO PERIODO
##    <chr>              <chr>             <chr>       <chr>                  <dbl>
##  1 TI                 COLOMBIA          M           08/14/2002 12:00:00…   20194
##  2 TI                 COLOMBIA          M           05/03/2003 12:00:00…   20194
##  3 TI                 COLOMBIA          M           01/18/2003 12:00:00…   20194
##  4 TI                 COLOMBIA          M           09/18/2001 12:00:00…   20194
##  5 TI                 COLOMBIA          M           08/21/2002 12:00:00…   20194
##  6 TI                 COLOMBIA          M           08/14/2002 12:00:00…   20194
##  7 CC                 COLOMBIA          M           10/17/1981 12:00:00…   20194
##  8 TI                 COLOMBIA          M           09/12/2002 12:00:00…   20194
##  9 CC                 COLOMBIA          M           03/31/2001 12:00:00…   20194
## 10 TI                 COLOMBIA          F           05/07/2002 12:00:00…   20194
## # ℹ 24,010 more rows
## # ℹ 77 more variables: ESTU_CONSECUTIVO <chr>, ESTU_ESTUDIANTE <chr>,
## #   ESTU_TIENEETNIA <chr>, ESTU_PAIS_RESIDE <chr>, ESTU_ETNIA <chr>,
## #   ESTU_DEPTO_RESIDE <chr>, ESTU_COD_RESIDE_DEPTO <chr>,
## #   ESTU_MCPIO_RESIDE <chr>, ESTU_COD_RESIDE_MCPIO <chr>,
## #   FAMI_ESTRATOVIVIENDA <chr>, FAMI_PERSONASHOGAR <chr>,
## #   FAMI_CUARTOSHOGAR <chr>, FAMI_EDUCACIONPADRE <chr>, …
attach(Saber11_2019_2_Santander)
## The following objects are masked from Saber_11_2019_2:
## 
##     COLE_AREA_UBICACION, COLE_BILINGUE, COLE_CALENDARIO, COLE_CARACTER,
##     COLE_COD_DANE_ESTABLECIMIENTO, COLE_COD_DANE_SEDE,
##     COLE_COD_DEPTO_UBICACION, COLE_COD_MCPIO_UBICACION,
##     COLE_CODIGO_ICFES, COLE_DEPTO_UBICACION, COLE_GENERO, COLE_JORNADA,
##     COLE_MCPIO_UBICACION, COLE_NATURALEZA, COLE_NOMBRE_ESTABLECIMIENTO,
##     COLE_NOMBRE_SEDE, COLE_SEDE_PRINCIPAL, DESEMP_C_NATURALES,
##     DESEMP_INGLES, DESEMP_LECTURA_CRITICA, DESEMP_MATEMATICAS,
##     DESEMP_SOCIALES_CIUDADANAS, ESTU_COD_DEPTO_PRESENTACION,
##     ESTU_COD_MCPIO_PRESENTACION, ESTU_COD_RESIDE_DEPTO,
##     ESTU_COD_RESIDE_MCPIO, ESTU_CONSECUTIVO, ESTU_DEDICACIONINTERNET,
##     ESTU_DEDICACIONLECTURADIARIA, ESTU_DEPTO_PRESENTACION,
##     ESTU_DEPTO_RESIDE, ESTU_ESTADOINVESTIGACION, ESTU_ESTUDIANTE,
##     ESTU_ETNIA, ESTU_FECHANACIMIENTO, ESTU_GENERACION-E, ESTU_GENERO,
##     ESTU_HORASSEMANATRABAJA, ESTU_INSE_INDIVIDUAL,
##     ESTU_MCPIO_PRESENTACION, ESTU_MCPIO_RESIDE, ESTU_NACIONALIDAD,
##     ESTU_NSE_ESTABLECIMIENTO, ESTU_NSE_INDIVIDUAL, ESTU_PAIS_RESIDE,
##     ESTU_PRIVADO_LIBERTAD, ESTU_TIENEETNIA, ESTU_TIPODOCUMENTO,
##     ESTU_TIPOREMUNERACION, FAMI_COMECARNEPESCADOHUEVO,
##     FAMI_COMECEREALFRUTOSLEGUMBRE, FAMI_COMELECHEDERIVADOS,
##     FAMI_CUARTOSHOGAR, FAMI_EDUCACIONMADRE, FAMI_EDUCACIONPADRE,
##     FAMI_ESTRATOVIVIENDA, FAMI_NUMLIBROS, FAMI_PERSONASHOGAR,
##     FAMI_SITUACIONECONOMICA, FAMI_TIENEAUTOMOVIL, FAMI_TIENECOMPUTADOR,
##     FAMI_TIENECONSOLAVIDEOJUEGOS, FAMI_TIENEHORNOMICROOGAS,
##     FAMI_TIENEINTERNET, FAMI_TIENELAVADORA, FAMI_TIENEMOTOCICLETA,
##     FAMI_TIENESERVICIOTV, FAMI_TRABAJOLABORMADRE,
##     FAMI_TRABAJOLABORPADRE, PERCENTIL_C_NATURALES, PERCENTIL_GLOBAL,
##     PERCENTIL_INGLES, PERCENTIL_LECTURA_CRITICA, PERCENTIL_MATEMATICAS,
##     PERCENTIL_SOCIALES_CIUDADANAS, PERIODO, PUNT_C_NATURALES,
##     PUNT_GLOBAL, PUNT_INGLES, PUNT_LECTURA_CRITICA, PUNT_MATEMATICAS,
##     PUNT_SOCIALES_CIUDADANAS
names(Saber11_2019_2_Santander)
##  [1] "ESTU_TIPODOCUMENTO"            "ESTU_NACIONALIDAD"            
##  [3] "ESTU_GENERO"                   "ESTU_FECHANACIMIENTO"         
##  [5] "PERIODO"                       "ESTU_CONSECUTIVO"             
##  [7] "ESTU_ESTUDIANTE"               "ESTU_TIENEETNIA"              
##  [9] "ESTU_PAIS_RESIDE"              "ESTU_ETNIA"                   
## [11] "ESTU_DEPTO_RESIDE"             "ESTU_COD_RESIDE_DEPTO"        
## [13] "ESTU_MCPIO_RESIDE"             "ESTU_COD_RESIDE_MCPIO"        
## [15] "FAMI_ESTRATOVIVIENDA"          "FAMI_PERSONASHOGAR"           
## [17] "FAMI_CUARTOSHOGAR"             "FAMI_EDUCACIONPADRE"          
## [19] "FAMI_EDUCACIONMADRE"           "FAMI_TRABAJOLABORPADRE"       
## [21] "FAMI_TRABAJOLABORMADRE"        "FAMI_TIENEINTERNET"           
## [23] "FAMI_TIENESERVICIOTV"          "FAMI_TIENECOMPUTADOR"         
## [25] "FAMI_TIENELAVADORA"            "FAMI_TIENEHORNOMICROOGAS"     
## [27] "FAMI_TIENEAUTOMOVIL"           "FAMI_TIENEMOTOCICLETA"        
## [29] "FAMI_TIENECONSOLAVIDEOJUEGOS"  "FAMI_NUMLIBROS"               
## [31] "FAMI_COMELECHEDERIVADOS"       "FAMI_COMECARNEPESCADOHUEVO"   
## [33] "FAMI_COMECEREALFRUTOSLEGUMBRE" "FAMI_SITUACIONECONOMICA"      
## [35] "ESTU_DEDICACIONLECTURADIARIA"  "ESTU_DEDICACIONINTERNET"      
## [37] "ESTU_HORASSEMANATRABAJA"       "ESTU_TIPOREMUNERACION"        
## [39] "COLE_CODIGO_ICFES"             "COLE_COD_DANE_ESTABLECIMIENTO"
## [41] "COLE_NOMBRE_ESTABLECIMIENTO"   "COLE_GENERO"                  
## [43] "COLE_NATURALEZA"               "COLE_CALENDARIO"              
## [45] "COLE_BILINGUE"                 "COLE_CARACTER"                
## [47] "COLE_COD_DANE_SEDE"            "COLE_NOMBRE_SEDE"             
## [49] "COLE_SEDE_PRINCIPAL"           "COLE_AREA_UBICACION"          
## [51] "COLE_JORNADA"                  "COLE_COD_MCPIO_UBICACION"     
## [53] "COLE_MCPIO_UBICACION"          "COLE_COD_DEPTO_UBICACION"     
## [55] "COLE_DEPTO_UBICACION"          "ESTU_PRIVADO_LIBERTAD"        
## [57] "ESTU_COD_MCPIO_PRESENTACION"   "ESTU_MCPIO_PRESENTACION"      
## [59] "ESTU_DEPTO_PRESENTACION"       "ESTU_COD_DEPTO_PRESENTACION"  
## [61] "PUNT_LECTURA_CRITICA"          "PERCENTIL_LECTURA_CRITICA"    
## [63] "DESEMP_LECTURA_CRITICA"        "PUNT_MATEMATICAS"             
## [65] "PERCENTIL_MATEMATICAS"         "DESEMP_MATEMATICAS"           
## [67] "PUNT_C_NATURALES"              "PERCENTIL_C_NATURALES"        
## [69] "DESEMP_C_NATURALES"            "PUNT_SOCIALES_CIUDADANAS"     
## [71] "PERCENTIL_SOCIALES_CIUDADANAS" "DESEMP_SOCIALES_CIUDADANAS"   
## [73] "PUNT_INGLES"                   "PERCENTIL_INGLES"             
## [75] "DESEMP_INGLES"                 "PUNT_GLOBAL"                  
## [77] "PERCENTIL_GLOBAL"              "ESTU_INSE_INDIVIDUAL"         
## [79] "ESTU_NSE_INDIVIDUAL"           "ESTU_NSE_ESTABLECIMIENTO"     
## [81] "ESTU_ESTADOINVESTIGACION"      "ESTU_GENERACION-E"
#La variable dependiente
#es politómica de acuerdo con la clasificación establecida por el ICFES
#discriminada en cuatro categorías excluyentes, así: a) 0 a 35 corresponde a un
#puntaje insuficiente, b) 36 a 50 como puntaje mínimo, c) 51 a 65 catalogado
#como satisfactorio y d) 66 a 100 como puntaje avanzado 


#Ordenar los datos de menor a mayor
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
datosorden <- Saber11_2019_2_Santander %>% arrange(PERCENTIL_GLOBAL)

#Variable dependiente.
#Organizar los datos 


# Crear una nueva columna llamada "categoria" que representa las categorías
datosorden$categoriaY <- cut(datosorden$PERCENTIL_GLOBAL, 
                       breaks = c(0, 50, 100), 
                       labels = c("Bajo", "Alto"),
                       right = FALSE,
                       include.lowest=T)

#Asignar valores númericos a cada categoría
datosorden$Y <- ifelse(datosorden$categoriaY == "Bajo", 0,
                       ifelse(datosorden$categoriaY == "Alto", 1, NA))
                              
                       
#Variables explicativas
#ESTU_GENERO: Género del estudiante. (0 FEMENINO)(1 MASCULINO)
#COLE_NATURALEZA: Naturaleza del colegio (0 NO OFICIAL)(1 OFICIAL)
#COLE_AREA_UBICACION: Area de ubicacion (0 RURAL) (1 URBANO)
#FAMI_EDUCACIONPADRE: Nivel educativo del padre (0 Ninguna) (1 Primaria incompleta) (2 Primaria Completa) (3 Secundaria Incompleta) (4 Secundaria completa) (5 Ed. Técnicao tecnológica incompleta) (6 Ed. Técnica o Tecnológica completa) (7 Profesional incompleta) (8 Profesional completa) (9 Posgrado)
#FAMI_EDUCACIONMADRE: Nivel educativo de la madre (0 Ninguna) (1 Primaria incompleta) (2 Primaria Completa) (3 Secundaria Incompleta) (4 Secundaria completa) (5 Ed. Técnicao tecnológica incompleta) (6 Ed. Técnica o Tecnológica completa) (7 Profesional incompleta) (8 Profesional completa) (9 Posgrado)
#FAMI_ESTRATOVIVIENDA: (0: Estrato 1) (1: Estrato 2) (2: Estrato 3) (3: Estrato 4) (4: Estrato 5) (5: Estrato 6)
#FAMI_TIENECOMPUTADOR: (O: NO) (1: SI)
#FAMI_TIENEINTERNET: (O: NO) (1: SI)
#ESTU_HORASSEMANATRABAJA: (O: NINGUNA) (1: MENOS DE 10 HORAS) (2: ENTRE 11 Y 20 HORAS) (3: ENTRE 21 Y 30 HORAS) (4: MÁS DE 30 HORAS)

#Cambiar las variables explicativas

#ESTU_GENERO
datosorden$GENERO_COD <- ifelse(datosorden$ESTU_GENERO == "F", 0, 
                           ifelse(datosorden$ESTU_GENERO == "M", 1, NA))

#COLE_NATURALEZA
datosorden$COLENATURALEZA_COD <- ifelse(datosorden$COLE_NATURALEZA == "NO OFICIAL", 0,
                                        ifelse(datosorden$COLE_NATURALEZA == "OFICIAL", 1, NA))

#COLE_AREA_UBICACION
datosorden$COLE_AREA_UBICACION_COD <- ifelse(datosorden$COLE_AREA_UBICACION == "RURAL", 0, 
                                             ifelse(datosorden$COLE_AREA_UBICACION == "URBANO", 1, NA))

#FAMI_EDUCACIONPADRE
datosorden$FAMI_EDUPADRE_COD <- ifelse(datosorden$FAMI_EDUCACIONPADRE == "Ninguno", 0, 
                                       ifelse(datosorden$FAMI_EDUCACIONPADRE == "Primaria incompleta", 1,
                                              ifelse(datosorden$FAMI_EDUCACIONPADRE == "Primaria completa", 2, 
                                                     ifelse(datosorden$FAMI_EDUCACIONPADRE == "Secundaria (Bachillerato) incompleta", 3, 
                                                            ifelse(datosorden$FAMI_EDUCACIONPADRE == "Secundaria (Bachillerato) completa", 4,
                                                                   ifelse(datosorden$FAMI_EDUCACIONPADRE == "Técnica o tecnológica incompleta", 5,
                                                                          ifelse(datosorden$FAMI_EDUCACIONPADRE == "Técnica o tecnológica completa", 6, 
                                                                                 ifelse(datosorden$FAMI_EDUCACIONPADRE == "Educación profesional incompleta", 7,
                                                                                        ifelse(datosorden$FAMI_EDUCACIONPADRE == "Educación profesional completa", 8,
                                                                                               ifelse(datosorden$FAMI_EDUCACIONPADRE == "Postgrado", 9, NA))))))))))



#FAMI_EDUCACIONMADRE
datosorden$FAMI_EDUMADRE_COD <- ifelse(datosorden$FAMI_EDUCACIONMADRE == "Ninguno", 0, 
                                       ifelse(datosorden$FAMI_EDUCACIONMADRE == "Primaria incompleta", 1,
                                              ifelse(datosorden$FAMI_EDUCACIONMADRE == "Primaria completa", 2, 
                                                     ifelse(datosorden$FAMI_EDUCACIONMADRE == "Secundaria (Bachillerato) incompleta", 3, 
                                                            ifelse(datosorden$FAMI_EDUCACIONMADRE == "Secundaria (Bachillerato) completa", 4,
                                                                   ifelse(datosorden$FAMI_EDUCACIONMADRE == "Técnica o tecnológica incompleta", 5,
                                                                          ifelse(datosorden$FAMI_EDUCACIONMADRE == "Técnica o tecnológica completa", 6, 
                                                                                 ifelse(datosorden$FAMI_EDUCACIONMADRE == "Educación profesional incompleta", 7,
                                                                                        ifelse(datosorden$FAMI_EDUCACIONMADRE == "Educación profesional completa", 8,
                                                                                               ifelse(datosorden$FAMI_EDUCACIONMADRE == "Postgrado", 9, NA))))))))))


#FAMI_ESTRATOVIVIENDA
datosorden$FAMI_ESTRATOVIVIENDA_COD <- ifelse(datosorden$FAMI_ESTRATOVIVIENDA == "Estrato 1", 0, 
                                          ifelse(datosorden$FAMI_ESTRATOVIVIENDA == "Estrato 2", 1,
                                                 ifelse(datosorden$FAMI_ESTRATOVIVIENDA == "Estrato 3", 2, 
                                                        ifelse(datosorden$FAMI_ESTRATOVIVIENDA == "Estrato 4", 3,
                                                               ifelse(datosorden$FAMI_ESTRATOVIVIENDA == "Estrato 5", 4, 
                                                                      ifelse(datosorden$FAMI_ESTRATOVIVIENDA == "Estrato 6", 5, NA))))))


#FAMI_TIENECOMPUTADOR: 
datosorden$FAMI_TIENECOMPUTADOR_COD <- ifelse(datosorden$FAMI_TIENECOMPUTADOR == "No", 0, 
                                              ifelse(datosorden$FAMI_TIENECOMPUTADOR == "Si", 1, NA))

#FAMI_TIENEINTERNET:
datosorden$FAMI_TIENEINTERNET_COD <- ifelse(datosorden$FAMI_TIENEINTERNET == "No", 0,
                                             ifelse(datosorden$FAMI_TIENEINTERNET == "Si", 1, NA))

#ESTU_HORASSEMANATRABAJA: 
datosorden$FAMI_HORASSEMANATRABAJA_COD <- ifelse(datosorden$ESTU_HORASSEMANATRABAJA == "0", 0, 
                                                 ifelse(datosorden$ESTU_HORASSEMANATRABAJA == "Menos de 10 horas", 1,
                                                        ifelse(datosorden$ESTU_HORASSEMANATRABAJA == "Entre 11 y 20 horas", 2,
                                                               ifelse(datosorden$ESTU_HORASSEMANATRABAJA == "Entre 21 y 30 horas", 3,
                                                                      ifelse(datosorden$ESTU_HORASSEMANATRABAJA == "Más de 30 horas", 4, NA)))))


#PERCENTIL_LECTURA_CRITICA
datosorden$categoriaPUNTAJELECCRI <- cut(datosorden$PERCENTIL_LECTURA_CRITICA, 
                             breaks = c(0, 50, 100), 
                             labels = c("Bajo", "Alto"),
                             right = FALSE,
                             include.lowest=T)
datosorden$PUNTAJELECCRI <- ifelse(datosorden$categoriaPUNTAJELECCRI == "Bajo", 0,
                       ifelse(datosorden$categoriaPUNTAJELECCRI == "Alto", 1, NA))



#PERCENTIL_MATEMATICAS

datosorden$categoriaPUNTAJEmate <- cut(datosorden$PERCENTIL_MATEMATICAS, 
                                         breaks = c(0, 50, 100), 
                                         labels = c("Bajo", "Alto"),
                                         right = FALSE,
                                         include.lowest=T)
datosorden$PUNTAJEmate <- ifelse(datosorden$categoriaPUNTAJEmate == "Bajo", 0,
                                   ifelse(datosorden$categoriaPUNTAJEmate == "Alto", 1, NA))


#PERCENTIL_C_NATURALES

datosorden$categoriaPUNTAJEnatu <- cut(datosorden$PERCENTIL_C_NATURALES, 
                                       breaks = c(0, 50, 100), 
                                       labels = c("Bajo", "Alto"),
                                       right = FALSE,
                                       include.lowest=T)
datosorden$PUNTAJEnatu <- ifelse(datosorden$categoriaPUNTAJEnatu == "Bajo", 0,
                                 ifelse(datosorden$categoriaPUNTAJEnatu == "Alto", 1, NA))



#PERCENTIL_SOCIALES_CIUDADANOS

datosorden$categoriaPUNTAJEsociales <- cut(datosorden$PERCENTIL_SOCIALES_CIUDADANAS, 
                                       breaks = c(0, 50, 100), 
                                       labels = c("Bajo", "Alto"),
                                       right = FALSE,
                                       include.lowest=T)
datosorden$PUNTAJEsociales <- ifelse(datosorden$categoriaPUNTAJEsociales == "Bajo", 0,
                                 ifelse(datosorden$categoriaPUNTAJEsociales == "Alto", 1, NA))


#PERCENTIL_INGLES

datosorden$categoriaPUNTAJEingles <- cut(datosorden$PERCENTIL_INGLES, 
                                           breaks = c(0, 50, 100), 
                                           labels = c("Bajo", "Alto"),
                                           right = FALSE,
                                           include.lowest=T)
datosorden$PUNTAJEingles <- ifelse(datosorden$categoriaPUNTAJEingles == "Bajo", 0,
                                     ifelse(datosorden$categoriaPUNTAJEingles == "Alto", 1, NA))





#Modelo Logit

modelo_logit <- glm(datosorden$Y~as.factor(datosorden$GENERO_COD) + as.factor(datosorden$COLENATURALEZA_COD) + as.factor(datosorden$COLE_AREA_UBICACION_COD) + as.factor(datosorden$FAMI_EDUPADRE_COD) + as.factor(datosorden$FAMI_EDUMADRE_COD) + as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD) + as.factor(datosorden$FAMI_TIENECOMPUTADOR_COD) + as.factor(datosorden$FAMI_TIENEINTERNET_COD) + as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD), family=binomial(link="logit"), data=datosorden)
summary(modelo_logit)
## 
## Call:
## glm(formula = datosorden$Y ~ as.factor(datosorden$GENERO_COD) + 
##     as.factor(datosorden$COLENATURALEZA_COD) + as.factor(datosorden$COLE_AREA_UBICACION_COD) + 
##     as.factor(datosorden$FAMI_EDUPADRE_COD) + as.factor(datosorden$FAMI_EDUMADRE_COD) + 
##     as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD) + as.factor(datosorden$FAMI_TIENECOMPUTADOR_COD) + 
##     as.factor(datosorden$FAMI_TIENEINTERNET_COD) + as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD), 
##     family = binomial(link = "logit"), data = datosorden)
## 
## Coefficients:
##                                                     Estimate Std. Error z value
## (Intercept)                                        -1.351969   0.155311  -8.705
## as.factor(datosorden$GENERO_COD)1                   0.349785   0.033081  10.573
## as.factor(datosorden$COLENATURALEZA_COD)1           0.287833   0.045276   6.357
## as.factor(datosorden$COLE_AREA_UBICACION_COD)1      0.279779   0.046948   5.959
## as.factor(datosorden$FAMI_EDUPADRE_COD)1            0.459762   0.100964   4.554
## as.factor(datosorden$FAMI_EDUPADRE_COD)2            0.537370   0.105488   5.094
## as.factor(datosorden$FAMI_EDUPADRE_COD)3            0.555135   0.106756   5.200
## as.factor(datosorden$FAMI_EDUPADRE_COD)4            0.660933   0.104055   6.352
## as.factor(datosorden$FAMI_EDUPADRE_COD)5            1.004066   0.158610   6.330
## as.factor(datosorden$FAMI_EDUPADRE_COD)6            1.003741   0.122169   8.216
## as.factor(datosorden$FAMI_EDUPADRE_COD)7            1.475303   0.182138   8.100
## as.factor(datosorden$FAMI_EDUPADRE_COD)8            1.180192   0.122849   9.607
## as.factor(datosorden$FAMI_EDUPADRE_COD)9            1.957153   0.232169   8.430
## as.factor(datosorden$FAMI_EDUMADRE_COD)1            0.264416   0.137234   1.927
## as.factor(datosorden$FAMI_EDUMADRE_COD)2            0.397515   0.139515   2.849
## as.factor(datosorden$FAMI_EDUMADRE_COD)3            0.408691   0.139766   2.924
## as.factor(datosorden$FAMI_EDUMADRE_COD)4            0.670345   0.137550   4.873
## as.factor(datosorden$FAMI_EDUMADRE_COD)5            1.019221   0.168747   6.040
## as.factor(datosorden$FAMI_EDUMADRE_COD)6            1.000747   0.147767   6.772
## as.factor(datosorden$FAMI_EDUMADRE_COD)7            1.276548   0.184378   6.924
## as.factor(datosorden$FAMI_EDUMADRE_COD)8            1.232531   0.150633   8.182
## as.factor(datosorden$FAMI_EDUMADRE_COD)9            1.578435   0.215503   7.324
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)1     0.031217   0.039052   0.799
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)2     0.008311   0.049681   0.167
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)3     0.146907   0.079515   1.848
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)4    -0.121633   0.145571  -0.836
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)5     0.294886   0.237033   1.244
## as.factor(datosorden$FAMI_TIENECOMPUTADOR_COD)1     0.329630   0.038239   8.620
## as.factor(datosorden$FAMI_TIENEINTERNET_COD)1       0.080253   0.040596   1.977
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)1 -0.390167   0.041169  -9.477
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)2 -0.524419   0.057231  -9.163
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)3 -0.693706   0.090075  -7.701
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)4 -1.048091   0.082436 -12.714
##                                                    Pr(>|z|)    
## (Intercept)                                         < 2e-16 ***
## as.factor(datosorden$GENERO_COD)1                   < 2e-16 ***
## as.factor(datosorden$COLENATURALEZA_COD)1          2.05e-10 ***
## as.factor(datosorden$COLE_AREA_UBICACION_COD)1     2.53e-09 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)1           5.27e-06 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)2           3.50e-07 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)3           1.99e-07 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)4           2.13e-10 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)5           2.44e-10 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)6            < 2e-16 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)7           5.50e-16 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)8            < 2e-16 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)9            < 2e-16 ***
## as.factor(datosorden$FAMI_EDUMADRE_COD)1            0.05401 .  
## as.factor(datosorden$FAMI_EDUMADRE_COD)2            0.00438 ** 
## as.factor(datosorden$FAMI_EDUMADRE_COD)3            0.00345 ** 
## as.factor(datosorden$FAMI_EDUMADRE_COD)4           1.10e-06 ***
## as.factor(datosorden$FAMI_EDUMADRE_COD)5           1.54e-09 ***
## as.factor(datosorden$FAMI_EDUMADRE_COD)6           1.27e-11 ***
## as.factor(datosorden$FAMI_EDUMADRE_COD)7           4.40e-12 ***
## as.factor(datosorden$FAMI_EDUMADRE_COD)8           2.78e-16 ***
## as.factor(datosorden$FAMI_EDUMADRE_COD)9           2.40e-13 ***
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)1     0.42407    
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)2     0.86715    
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)3     0.06467 .  
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)4     0.40340    
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)5     0.21347    
## as.factor(datosorden$FAMI_TIENECOMPUTADOR_COD)1     < 2e-16 ***
## as.factor(datosorden$FAMI_TIENEINTERNET_COD)1       0.04806 *  
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)1  < 2e-16 ***
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)2  < 2e-16 ***
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)3 1.35e-14 ***
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)4  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 25828  on 20043  degrees of freedom
## Residual deviance: 23265  on 20011  degrees of freedom
##   (3976 observations deleted due to missingness)
## AIC: 23331
## 
## Number of Fisher Scoring iterations: 5
### Efectos marginales modelo logit

exp(modelo_logit$coefficients)
##                                        (Intercept) 
##                                          0.2587302 
##                  as.factor(datosorden$GENERO_COD)1 
##                                          1.4187622 
##          as.factor(datosorden$COLENATURALEZA_COD)1 
##                                          1.3335352 
##     as.factor(datosorden$COLE_AREA_UBICACION_COD)1 
##                                          1.3228379 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)1 
##                                          1.5836975 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)2 
##                                          1.7114999 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)3 
##                                          1.7421762 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)4 
##                                          1.9365987 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)5 
##                                          2.7293580 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)6 
##                                          2.7284707 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)7 
##                                          4.3723591 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)8 
##                                          3.2549997 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)9 
##                                          7.0791434 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)1 
##                                          1.3026695 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)2 
##                                          1.4881219 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)3 
##                                          1.5048461 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)4 
##                                          1.9549126 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)5 
##                                          2.7710354 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)6 
##                                          2.7203132 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)7 
##                                          3.5842446 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)8 
##                                          3.4299007 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)9 
##                                          4.8473642 
##    as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)1 
##                                          1.0317097 
##    as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)2 
##                                          1.0083454 
##    as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)3 
##                                          1.1582461 
##    as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)4 
##                                          0.8854734 
##    as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)5 
##                                          1.3429738 
##    as.factor(datosorden$FAMI_TIENECOMPUTADOR_COD)1 
##                                          1.3904539 
##      as.factor(datosorden$FAMI_TIENEINTERNET_COD)1 
##                                          1.0835608 
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)1 
##                                          0.6769437 
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)2 
##                                          0.5918990 
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)3 
##                                          0.4997205 
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)4 
##                                          0.3506063
logitvec <- mean(dlogis(predict(modelo_logit, type = "link")))
x=logitvec * coef(modelo_logit)
x
##                                        (Intercept) 
##                                       -0.268440624 
##                  as.factor(datosorden$GENERO_COD)1 
##                                        0.069451614 
##          as.factor(datosorden$COLENATURALEZA_COD)1 
##                                        0.057150842 
##     as.factor(datosorden$COLE_AREA_UBICACION_COD)1 
##                                        0.055551668 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)1 
##                                        0.091288231 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)2 
##                                        0.106697672 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)3 
##                                        0.110224976 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)4 
##                                        0.131231762 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)5 
##                                        0.199362675 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)6 
##                                        0.199298114 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)7 
##                                        0.292929121 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)8 
##                                        0.234333370 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)9 
##                                        0.388603016 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)1 
##                                        0.052501107 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)2 
##                                        0.078928668 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)3 
##                                        0.081147677 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)4 
##                                        0.133100623 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)5 
##                                        0.202371702 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)6 
##                                        0.198703589 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)7 
##                                        0.253465277 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)8 
##                                        0.244725582 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)9 
##                                        0.313406599 
##    as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)1 
##                                        0.006198373 
##    as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)2 
##                                        0.001650155 
##    as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)3 
##                                        0.029169131 
##    as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)4 
##                                       -0.024150846 
##    as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)5 
##                                        0.058551244 
##    as.factor(datosorden$FAMI_TIENECOMPUTADOR_COD)1 
##                                        0.065449824 
##      as.factor(datosorden$FAMI_TIENEINTERNET_COD)1 
##                                        0.015934589 
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)1 
##                                       -0.077469753 
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)2 
##                                       -0.104126217 
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)3 
##                                       -0.137739031 
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)4 
##                                       -0.208104032
#Modelo Probit

modelo_probit=glm(datosorden$Y~as.factor(datosorden$GENERO_COD) + as.factor(datosorden$COLENATURALEZA_COD) + as.factor(datosorden$COLE_AREA_UBICACION_COD) + as.factor(datosorden$FAMI_EDUPADRE_COD) + as.factor(datosorden$FAMI_EDUMADRE_COD) + as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD) + as.factor(datosorden$FAMI_TIENECOMPUTADOR_COD) + as.factor(datosorden$FAMI_TIENEINTERNET_COD) + as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD),family=binomial(link="probit"))
summary(modelo_probit)
## 
## Call:
## glm(formula = datosorden$Y ~ as.factor(datosorden$GENERO_COD) + 
##     as.factor(datosorden$COLENATURALEZA_COD) + as.factor(datosorden$COLE_AREA_UBICACION_COD) + 
##     as.factor(datosorden$FAMI_EDUPADRE_COD) + as.factor(datosorden$FAMI_EDUMADRE_COD) + 
##     as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD) + as.factor(datosorden$FAMI_TIENECOMPUTADOR_COD) + 
##     as.factor(datosorden$FAMI_TIENEINTERNET_COD) + as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD), 
##     family = binomial(link = "probit"))
## 
## Coefficients:
##                                                     Estimate Std. Error z value
## (Intercept)                                        -0.811921   0.093877  -8.649
## as.factor(datosorden$GENERO_COD)1                   0.207754   0.019808  10.488
## as.factor(datosorden$COLENATURALEZA_COD)1           0.160136   0.026979   5.936
## as.factor(datosorden$COLE_AREA_UBICACION_COD)1      0.170214   0.028850   5.900
## as.factor(datosorden$FAMI_EDUPADRE_COD)1            0.283010   0.061905   4.572
## as.factor(datosorden$FAMI_EDUPADRE_COD)2            0.331769   0.064711   5.127
## as.factor(datosorden$FAMI_EDUPADRE_COD)3            0.345586   0.065442   5.281
## as.factor(datosorden$FAMI_EDUPADRE_COD)4            0.408838   0.063764   6.412
## as.factor(datosorden$FAMI_EDUPADRE_COD)5            0.613495   0.093992   6.527
## as.factor(datosorden$FAMI_EDUPADRE_COD)6            0.606416   0.073437   8.258
## as.factor(datosorden$FAMI_EDUPADRE_COD)7            0.865428   0.102740   8.423
## as.factor(datosorden$FAMI_EDUPADRE_COD)8            0.704025   0.073254   9.611
## as.factor(datosorden$FAMI_EDUPADRE_COD)9            1.083736   0.119777   9.048
## as.factor(datosorden$FAMI_EDUMADRE_COD)1            0.162933   0.083768   1.945
## as.factor(datosorden$FAMI_EDUMADRE_COD)2            0.244806   0.085225   2.872
## as.factor(datosorden$FAMI_EDUMADRE_COD)3            0.251625   0.085380   2.947
## as.factor(datosorden$FAMI_EDUMADRE_COD)4            0.412987   0.083963   4.919
## as.factor(datosorden$FAMI_EDUMADRE_COD)5            0.613608   0.101367   6.053
## as.factor(datosorden$FAMI_EDUMADRE_COD)6            0.605723   0.089520   6.766
## as.factor(datosorden$FAMI_EDUMADRE_COD)7            0.765281   0.108035   7.084
## as.factor(datosorden$FAMI_EDUMADRE_COD)8            0.735206   0.090637   8.112
## as.factor(datosorden$FAMI_EDUMADRE_COD)9            0.921557   0.120627   7.640
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)1     0.019670   0.023828   0.826
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)2     0.007069   0.029936   0.236
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)3     0.089123   0.046242   1.927
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)4    -0.050281   0.084499  -0.595
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)5     0.174720   0.131214   1.332
## as.factor(datosorden$FAMI_TIENECOMPUTADOR_COD)1     0.200709   0.023295   8.616
## as.factor(datosorden$FAMI_TIENEINTERNET_COD)1       0.049937   0.024771   2.016
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)1 -0.240433   0.025033  -9.605
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)2 -0.323720   0.035006  -9.248
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)3 -0.428537   0.055315  -7.747
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)4 -0.643070   0.050229 -12.803
##                                                    Pr(>|z|)    
## (Intercept)                                         < 2e-16 ***
## as.factor(datosorden$GENERO_COD)1                   < 2e-16 ***
## as.factor(datosorden$COLENATURALEZA_COD)1          2.93e-09 ***
## as.factor(datosorden$COLE_AREA_UBICACION_COD)1     3.64e-09 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)1           4.84e-06 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)2           2.94e-07 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)3           1.29e-07 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)4           1.44e-10 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)5           6.71e-11 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)6            < 2e-16 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)7            < 2e-16 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)8            < 2e-16 ***
## as.factor(datosorden$FAMI_EDUPADRE_COD)9            < 2e-16 ***
## as.factor(datosorden$FAMI_EDUMADRE_COD)1            0.05177 .  
## as.factor(datosorden$FAMI_EDUMADRE_COD)2            0.00407 ** 
## as.factor(datosorden$FAMI_EDUMADRE_COD)3            0.00321 ** 
## as.factor(datosorden$FAMI_EDUMADRE_COD)4           8.71e-07 ***
## as.factor(datosorden$FAMI_EDUMADRE_COD)5           1.42e-09 ***
## as.factor(datosorden$FAMI_EDUMADRE_COD)6           1.32e-11 ***
## as.factor(datosorden$FAMI_EDUMADRE_COD)7           1.40e-12 ***
## as.factor(datosorden$FAMI_EDUMADRE_COD)8           5.00e-16 ***
## as.factor(datosorden$FAMI_EDUMADRE_COD)9           2.18e-14 ***
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)1     0.40909    
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)2     0.81333    
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)3     0.05394 .  
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)4     0.55181    
## as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)5     0.18300    
## as.factor(datosorden$FAMI_TIENECOMPUTADOR_COD)1     < 2e-16 ***
## as.factor(datosorden$FAMI_TIENEINTERNET_COD)1       0.04380 *  
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)1  < 2e-16 ***
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)2  < 2e-16 ***
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)3 9.40e-15 ***
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)4  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 25828  on 20043  degrees of freedom
## Residual deviance: 23260  on 20011  degrees of freedom
##   (3976 observations deleted due to missingness)
## AIC: 23326
## 
## Number of Fisher Scoring iterations: 5
#Efectos Marginales modelo Probit

probitvec <- mean(dnorm(predict(modelo_probit, type = "link")))
probitvec * coef(modelo_probit) 
##                                        (Intercept) 
##                                       -0.267576317 
##                  as.factor(datosorden$GENERO_COD)1 
##                                        0.068467202 
##          as.factor(datosorden$COLENATURALEZA_COD)1 
##                                        0.052774450 
##     as.factor(datosorden$COLE_AREA_UBICACION_COD)1 
##                                        0.056095805 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)1 
##                                        0.093268710 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)2 
##                                        0.109337835 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)3 
##                                        0.113891292 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)4 
##                                        0.134736417 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)5 
##                                        0.202183178 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)6 
##                                        0.199850313 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)7 
##                                        0.285210067 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)8 
##                                        0.232018351 
##           as.factor(datosorden$FAMI_EDUPADRE_COD)9 
##                                        0.357155630 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)1 
##                                        0.053696130 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)2 
##                                        0.080678043 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)3 
##                                        0.082925318 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)4 
##                                        0.136103849 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)5 
##                                        0.202220513 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)6 
##                                        0.199622007 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)7 
##                                        0.252205660 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)8 
##                                        0.242294156 
##           as.factor(datosorden$FAMI_EDUMADRE_COD)9 
##                                        0.303708108 
##    as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)1 
##                                        0.006482462 
##    as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)2 
##                                        0.002329617 
##    as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)3 
##                                        0.029371498 
##    as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)4 
##                                       -0.016570642 
##    as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD)5 
##                                        0.057580759 
##    as.factor(datosorden$FAMI_TIENECOMPUTADOR_COD)1 
##                                        0.066145547 
##      as.factor(datosorden$FAMI_TIENEINTERNET_COD)1 
##                                        0.016457143 
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)1 
##                                       -0.079236886 
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)2 
##                                       -0.106685085 
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)3 
##                                       -0.141228512 
## as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD)4 
##                                       -0.211930119
######## Estadística descriptiva


#Resultados de la Prueba Saber 11 según género.

library(ggplot2)
tabla_resul_gen <- table(datosorden$GENERO_COD, datosorden$Y)
tabla_frec_rel <- prop.table(tabla_resul_gen, margin = 2) * 100


library(dplyr)
library(ggplot2)

barras.nivel.sexo=ggplot(datosorden,
                         aes(x = categoriaY, fill=ESTU_GENERO,(..count..)/sum(..count..))) +
  geom_bar(width=0.5, position="dodge") + theme_bw()+
  labs(fill = "Género")
barras.nivel.sexo + xlab("Nivel de puntaje") + ylab ("% de casos") +
  ggtitle("Resultados de la Prueba Saber 11 según género")
## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

grafico1=table(datosorden$ESTU_GENERO, datosorden$categoriaY)
grafico1
##    
##     Bajo Alto
##   -    0    8
##   F 4809 7727
##   M 3741 7735

Gráfico 2. Resultados de la prueba Saber 11 según estrato socioeconómico

barras.nivel.sexo=ggplot(datosorden,
                                         aes(x = categoriaY, fill=FAMI_ESTRATOVIVIENDA,(..count..)/sum(..count..))) +
  geom_bar(width=0.5, position="dodge") + theme_bw()+
  labs(fill = "Estrato")
barras.nivel.sexo + xlab("Nivel de puntaje") + ylab ("% de casos") +
  ggtitle("Resultados de la Prueba Saber 11 según estrato socioeconómico")

grafico2=table(datosorden$FAMI_ESTRATOVIVIENDA, datosorden$categoriaY)
grafico2
##              
##               Bajo Alto
##   -            661  660
##   Estrato 1   2994 3833
##   Estrato 2   2839 5225
##   Estrato 3   1370 3639
##   Estrato 4    340 1529
##   Estrato 5     93  302
##   Estrato 6     32  156
##   Sin Estrato  221  126

Gráfico 3. Resultados de la Prueba Saber 11 según situación laboral

barras.nivel.sexo=ggplot(datosorden,
                                          aes(x = categoriaY, fill=ESTU_HORASSEMANATRABAJA,(..count..)/sum(..count..))) +
  geom_bar(width=0.5, position="dodge") + theme_bw()+
  labs(fill = "Horas de trabajo a la semana")
barras.nivel.sexo + xlab("Nivel de puntaje") + ylab ("% de casos") +
  ggtitle("Resultados de la Prueba Saber 11 según situación laboral")

grafico3=table(datosorden$ESTU_HORASSEMANATRABAJA, datosorden$categoriaY)
grafico3
##                      
##                        Bajo  Alto
##   -                     308   408
##   0                    4502 10887
##   Entre 11 y 20 horas   894  1025
##   Entre 21 y 30 horas   356   330
##   Más de 30 horas       561   348
##   Menos de 10 horas    1919  2470

Imagen 1. Nivel educativo de los padres y madres

Fuente: Elaboración propia

Imagen 2. Acceso a tecnologías de aprendizaje

Fuente: Elaboración propia

Gráfico 4. Resultados de la Prueba Saber 11 según la naturaleza jurídica de la institución educativa

barras.nivel.sexo=ggplot(datosorden,
                                          aes(x = categoriaY, fill=COLE_NATURALEZA,(..count..)/sum(..count..))) +
  geom_bar(width=0.5, position="dodge") + theme_bw()+
  labs(fill = "Naturaleza jurídica")
barras.nivel.sexo + xlab("Nivel de puntaje") + ylab ("% de casos") +
  ggtitle("Resultados de la Prueba Saber 11 según la naturaleza jurídica de la institución educativa")

grafico3=table(datosorden$ESTU_HORASSEMANATRABAJA, datosorden$categoriaY)
grafico3
##                      
##                        Bajo  Alto
##   -                     308   408
##   0                    4502 10887
##   Entre 11 y 20 horas   894  1025
##   Entre 21 y 30 horas   356   330
##   Más de 30 horas       561   348
##   Menos de 10 horas    1919  2470

Gráfico 5. Resultados de la Prueba Saber 11 según la localización de la institución educativa.

barras.nivel.sexo=ggplot(datosorden,
                         aes(x = categoriaY, fill=COLE_AREA_UBICACION,(..count..)/sum(..count..))) +
  geom_bar(width=0.5, position="dodge") + theme_bw()+
  labs(fill = "Área")
barras.nivel.sexo + xlab("Nivel de puntaje") + ylab ("% de casos") +
  ggtitle("Resultados de la Prueba Saber 11 según la localización de la institución educativa")

grafico5=table(datosorden$COLE_AREA_UBICACION, datosorden$categoriaY)
grafico5
##         
##           Bajo  Alto
##   RURAL   1691  1620
##   URBANO  6859 13850

Imagen 3. Resultados de la Prueba Saber 11 según área de conocimiento y estrato.

Fuente: Elaboración propia

Imagen 4. Resultados según área de conocimiento naturaleza jurídica de la institución educativa.

Fuente: Elaboración propia

Imagen 5. Resultados según área de conocimiento y género

Fuente: Elaboración propia

Imagen 6. Resultados del modelo logit

Fuente: Elaboración propia

Imagen 7. Resultados del modelo probit

Fuente: Elaboración propia

Discusión

Se evidencia patrones notables en el rendimiento académico en el departamento de Nariño (2018) en comparación con el de Santander (2019-2).

Se confirma la brecha de género, donde los hombres presentan un rendimiento académico superior. Se evidencia tanto con el modelo como con los datos que el estrato socioeconómico no influye significativamente en el rendimiento académico. Se resalta la importancia del acceso a tecnología como un computador o internet pues permite a los estudiantes estudiar autónomamente.

Además, el nivel educativo de los padres influye positiva y significativamente en el rendimiento académico de los estudiantes. Por otra parte, la carga de trabajo excesiva en los estudiantes disminuye los resultados en el puntaje. Es importante considerar los resultados para la toma de decisiones enfocadas en cuestiones como la igualdad de género, con el fin de mejorar la equidad y calidad en la educación de estos departamentos.

Conclusiones

Los resultados de esta réplica confirman y amplían las conclusiones del estudio original realizado en el departamento de Nariño para el año 2018. Se mantienen las diferencias de género en el rendimiento académico, con los hombres superando a las mujeres. Además, se encuentra que el estrato socioeconómcio no ejerce una influencia significativa en el rendimiento académico.

La accesibilidad a la tecnología, y el nivel educativo de los padres influyen positivamente en los resultados de los estudiantes, mientras que, un aumento de las horas de trabajo semanales conduce a un rendimiento académico más bajo.

Estos hallazgos reafirman los resultados de Rodríguez, Ordoñez e Hidalgo y contribuyen a la comprensión de los determinantes del rendimiento académico en el contexto particular del departamento de Santander para el segundo periodo del 2019.

Referencias

Rodríguez Rosero, D. D., Ordoñez Ortega, R. E., & Hidalgo Villota, M. E. (2021). Determinantes del rendimiento académico de la educación media en el departamento de Nariño, Colombia. Lecturas de Economía, (94), 87-126.

ICFES. (2019). Prueba Saber 11 2019-2. Data ICFES. https://www.icfes.gov.co/data-icfes

Anexo

Código

##Liseth Dayana Benavides Cediel
##Réplica del artículo "Determinantes del rendimiento académico de la educación media en el Departamento de Nariño, Colombia
##Diego Danilo Rodríguez Rosero, Ruber Erlinton Ordoñez Ortega y Mario Eduardo Hidalgo Villota (2021). Lecturas de Economía de la Udea 
## Versión en R 4.3.1
library(readr)
Saber_11_2019_2 <- read_csv("D:/USUARIO/Downloads/Saber_11__2019-2.csv")
View(Saber_11_2019_2)
attach(Saber_11_2019_2)
names(Saber_11_2019_2)

Saber11_2019_2_Santander <- subset(Saber_11_2019_2, ESTU_DEPTO_RESIDE == "SANTANDER")
Saber11_2019_2_Santander
attach(Saber11_2019_2_Santander)
names(Saber11_2019_2_Santander)

#La variable dependiente
#es politómica de acuerdo con la clasificación establecida por el ICFES
#discriminada en cuatro categorías excluyentes, así: a) 0 a 35 corresponde a un
#puntaje insuficiente, b) 36 a 50 como puntaje mínimo, c) 51 a 65 catalogado
#como satisfactorio y d) 66 a 100 como puntaje avanzado 


#Ordenar los datos de menor a mayor
library(dplyr)
datosorden <- Saber11_2019_2_Santander %>% arrange(PERCENTIL_GLOBAL)

#Variable dependiente.
#Organizar los datos 


# Crear una nueva columna llamada "categoria" que representa las categorías
datosorden$categoriaY <- cut(datosorden$PERCENTIL_GLOBAL, 
                       breaks = c(0, 50, 100), 
                       labels = c("Bajo", "Alto"),
                       right = FALSE,
                       include.lowest=T)

#Asignar valores númericos a cada categoría
datosorden$Y <- ifelse(datosorden$categoriaY == "Bajo", 0,
                       ifelse(datosorden$categoriaY == "Alto", 1, NA))
                              
                       
#Variables explicativas
#ESTU_GENERO: Género del estudiante. (0 FEMENINO)(1 MASCULINO)
#COLE_NATURALEZA: Naturaleza del colegio (0 NO OFICIAL)(1 OFICIAL)
#COLE_AREA_UBICACION: Area de ubicacion (0 RURAL) (1 URBANO)
#FAMI_EDUCACIONPADRE: Nivel educativo del padre (0 Ninguna) (1 Primaria incompleta) (2 Primaria Completa) (3 Secundaria Incompleta) (4 Secundaria completa) (5 Ed. Técnicao tecnológica incompleta) (6 Ed. Técnica o Tecnológica completa) (7 Profesional incompleta) (8 Profesional completa) (9 Posgrado)
#FAMI_EDUCACIONMADRE: Nivel educativo de la madre (0 Ninguna) (1 Primaria incompleta) (2 Primaria Completa) (3 Secundaria Incompleta) (4 Secundaria completa) (5 Ed. Técnicao tecnológica incompleta) (6 Ed. Técnica o Tecnológica completa) (7 Profesional incompleta) (8 Profesional completa) (9 Posgrado)
#FAMI_ESTRATOVIVIENDA: (0: Estrato 1) (1: Estrato 2) (2: Estrato 3) (3: Estrato 4) (4: Estrato 5) (5: Estrato 6)
#FAMI_TIENECOMPUTADOR: (O: NO) (1: SI)
#FAMI_TIENEINTERNET: (O: NO) (1: SI)
#ESTU_HORASSEMANATRABAJA: (O: NINGUNA) (1: MENOS DE 10 HORAS) (2: ENTRE 11 Y 20 HORAS) (3: ENTRE 21 Y 30 HORAS) (4: MÁS DE 30 HORAS)

#Cambiar las variables explicativas

#ESTU_GENERO
datosorden$GENERO_COD <- ifelse(datosorden$ESTU_GENERO == "F", 0, 
                           ifelse(datosorden$ESTU_GENERO == "M", 1, NA))

#COLE_NATURALEZA
datosorden$COLENATURALEZA_COD <- ifelse(datosorden$COLE_NATURALEZA == "NO OFICIAL", 0,
                                        ifelse(datosorden$COLE_NATURALEZA == "OFICIAL", 1, NA))

#COLE_AREA_UBICACION
datosorden$COLE_AREA_UBICACION_COD <- ifelse(datosorden$COLE_AREA_UBICACION == "RURAL", 0, 
                                             ifelse(datosorden$COLE_AREA_UBICACION == "URBANO", 1, NA))

#FAMI_EDUCACIONPADRE
datosorden$FAMI_EDUPADRE_COD <- ifelse(datosorden$FAMI_EDUCACIONPADRE == "Ninguno", 0, 
                                       ifelse(datosorden$FAMI_EDUCACIONPADRE == "Primaria incompleta", 1,
                                              ifelse(datosorden$FAMI_EDUCACIONPADRE == "Primaria completa", 2, 
                                                     ifelse(datosorden$FAMI_EDUCACIONPADRE == "Secundaria (Bachillerato) incompleta", 3, 
                                                            ifelse(datosorden$FAMI_EDUCACIONPADRE == "Secundaria (Bachillerato) completa", 4,
                                                                   ifelse(datosorden$FAMI_EDUCACIONPADRE == "Técnica o tecnológica incompleta", 5,
                                                                          ifelse(datosorden$FAMI_EDUCACIONPADRE == "Técnica o tecnológica completa", 6, 
                                                                                 ifelse(datosorden$FAMI_EDUCACIONPADRE == "Educación profesional incompleta", 7,
                                                                                        ifelse(datosorden$FAMI_EDUCACIONPADRE == "Educación profesional completa", 8,
                                                                                               ifelse(datosorden$FAMI_EDUCACIONPADRE == "Postgrado", 9, NA))))))))))



#FAMI_EDUCACIONMADRE
datosorden$FAMI_EDUMADRE_COD <- ifelse(datosorden$FAMI_EDUCACIONMADRE == "Ninguno", 0, 
                                       ifelse(datosorden$FAMI_EDUCACIONMADRE == "Primaria incompleta", 1,
                                              ifelse(datosorden$FAMI_EDUCACIONMADRE == "Primaria completa", 2, 
                                                     ifelse(datosorden$FAMI_EDUCACIONMADRE == "Secundaria (Bachillerato) incompleta", 3, 
                                                            ifelse(datosorden$FAMI_EDUCACIONMADRE == "Secundaria (Bachillerato) completa", 4,
                                                                   ifelse(datosorden$FAMI_EDUCACIONMADRE == "Técnica o tecnológica incompleta", 5,
                                                                          ifelse(datosorden$FAMI_EDUCACIONMADRE == "Técnica o tecnológica completa", 6, 
                                                                                 ifelse(datosorden$FAMI_EDUCACIONMADRE == "Educación profesional incompleta", 7,
                                                                                        ifelse(datosorden$FAMI_EDUCACIONMADRE == "Educación profesional completa", 8,
                                                                                               ifelse(datosorden$FAMI_EDUCACIONMADRE == "Postgrado", 9, NA))))))))))


#FAMI_ESTRATOVIVIENDA
datosorden$FAMI_ESTRATOVIVIENDA_COD <- ifelse(datosorden$FAMI_ESTRATOVIVIENDA == "Estrato 1", 0, 
                                          ifelse(datosorden$FAMI_ESTRATOVIVIENDA == "Estrato 2", 1,
                                                 ifelse(datosorden$FAMI_ESTRATOVIVIENDA == "Estrato 3", 2, 
                                                        ifelse(datosorden$FAMI_ESTRATOVIVIENDA == "Estrato 4", 3,
                                                               ifelse(datosorden$FAMI_ESTRATOVIVIENDA == "Estrato 5", 4, 
                                                                      ifelse(datosorden$FAMI_ESTRATOVIVIENDA == "Estrato 6", 5, NA))))))


#FAMI_TIENECOMPUTADOR: 
datosorden$FAMI_TIENECOMPUTADOR_COD <- ifelse(datosorden$FAMI_TIENECOMPUTADOR == "No", 0, 
                                              ifelse(datosorden$FAMI_TIENECOMPUTADOR == "Si", 1, NA))

#FAMI_TIENEINTERNET:
datosorden$FAMI_TIENEINTERNET_COD <- ifelse(datosorden$FAMI_TIENEINTERNET == "No", 0,
                                             ifelse(datosorden$FAMI_TIENEINTERNET == "Si", 1, NA))

#ESTU_HORASSEMANATRABAJA: 
datosorden$FAMI_HORASSEMANATRABAJA_COD <- ifelse(datosorden$ESTU_HORASSEMANATRABAJA == "0", 0, 
                                                 ifelse(datosorden$ESTU_HORASSEMANATRABAJA == "Menos de 10 horas", 1,
                                                        ifelse(datosorden$ESTU_HORASSEMANATRABAJA == "Entre 11 y 20 horas", 2,
                                                               ifelse(datosorden$ESTU_HORASSEMANATRABAJA == "Entre 21 y 30 horas", 3,
                                                                      ifelse(datosorden$ESTU_HORASSEMANATRABAJA == "Más de 30 horas", 4, NA)))))


#PERCENTIL_LECTURA_CRITICA
datosorden$categoriaPUNTAJELECCRI <- cut(datosorden$PERCENTIL_LECTURA_CRITICA, 
                             breaks = c(0, 50, 100), 
                             labels = c("Bajo", "Alto"),
                             right = FALSE,
                             include.lowest=T)
datosorden$PUNTAJELECCRI <- ifelse(datosorden$categoriaPUNTAJELECCRI == "Bajo", 0,
                       ifelse(datosorden$categoriaPUNTAJELECCRI == "Alto", 1, NA))



#PERCENTIL_MATEMATICAS

datosorden$categoriaPUNTAJEmate <- cut(datosorden$PERCENTIL_MATEMATICAS, 
                                         breaks = c(0, 50, 100), 
                                         labels = c("Bajo", "Alto"),
                                         right = FALSE,
                                         include.lowest=T)
datosorden$PUNTAJEmate <- ifelse(datosorden$categoriaPUNTAJEmate == "Bajo", 0,
                                   ifelse(datosorden$categoriaPUNTAJEmate == "Alto", 1, NA))


#PERCENTIL_C_NATURALES

datosorden$categoriaPUNTAJEnatu <- cut(datosorden$PERCENTIL_C_NATURALES, 
                                       breaks = c(0, 50, 100), 
                                       labels = c("Bajo", "Alto"),
                                       right = FALSE,
                                       include.lowest=T)
datosorden$PUNTAJEnatu <- ifelse(datosorden$categoriaPUNTAJEnatu == "Bajo", 0,
                                 ifelse(datosorden$categoriaPUNTAJEnatu == "Alto", 1, NA))



#PERCENTIL_SOCIALES_CIUDADANOS

datosorden$categoriaPUNTAJEsociales <- cut(datosorden$PERCENTIL_SOCIALES_CIUDADANAS, 
                                       breaks = c(0, 50, 100), 
                                       labels = c("Bajo", "Alto"),
                                       right = FALSE,
                                       include.lowest=T)
datosorden$PUNTAJEsociales <- ifelse(datosorden$categoriaPUNTAJEsociales == "Bajo", 0,
                                 ifelse(datosorden$categoriaPUNTAJEsociales == "Alto", 1, NA))


#PERCENTIL_INGLES

datosorden$categoriaPUNTAJEingles <- cut(datosorden$PERCENTIL_INGLES, 
                                           breaks = c(0, 50, 100), 
                                           labels = c("Bajo", "Alto"),
                                           right = FALSE,
                                           include.lowest=T)
datosorden$PUNTAJEingles <- ifelse(datosorden$categoriaPUNTAJEingles == "Bajo", 0,
                                     ifelse(datosorden$categoriaPUNTAJEingles == "Alto", 1, NA))

















#Modelo Logit

modelo_logit <- glm(datosorden$Y~as.factor(datosorden$GENERO_COD) + as.factor(datosorden$COLENATURALEZA_COD) + as.factor(datosorden$COLE_AREA_UBICACION_COD) + as.factor(datosorden$FAMI_EDUPADRE_COD) + as.factor(datosorden$FAMI_EDUMADRE_COD) + as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD) + as.factor(datosorden$FAMI_TIENECOMPUTADOR_COD) + as.factor(datosorden$FAMI_TIENEINTERNET_COD) + as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD), family=binomial(link="logit"), data=datosorden)
summary(modelo_logit)

### Efectos marginales modelo logit

exp(modelo_logit$coefficients)
logitvec <- mean(dlogis(predict(modelo_logit, type = "link")))
x=logitvec * coef(modelo_logit)
x



#Modelo Probit

modelo_probit=glm(datosorden$Y~as.factor(datosorden$GENERO_COD) + as.factor(datosorden$COLENATURALEZA_COD) + as.factor(datosorden$COLE_AREA_UBICACION_COD) + as.factor(datosorden$FAMI_EDUPADRE_COD) + as.factor(datosorden$FAMI_EDUMADRE_COD) + as.factor(datosorden$FAMI_ESTRATOVIVIENDA_COD) + as.factor(datosorden$FAMI_TIENECOMPUTADOR_COD) + as.factor(datosorden$FAMI_TIENEINTERNET_COD) + as.factor(datosorden$FAMI_HORASSEMANATRABAJA_COD),family=binomial(link="probit"))
summary(modelo_probit)

#Efectos Marginales modelo Probit

probitvec <- mean(dnorm(predict(modelo_probit, type = "link")))
probitvec * coef(modelo_probit) 

















######## Estadística descriptiva


#Resultados de la Prueba Saber 11 según género.

library(ggplot2)
tabla_resul_gen <- table(datosorden$GENERO_COD, datosorden$Y)
tabla_frec_rel <- prop.table(tabla_resul_gen, margin = 2) * 100


library(dplyr)
library(ggplot2)


# Resultados de la Prueba Saber 11 según género
grafico1=table(datosorden$ESTU_GENERO, datosorden$categoriaY)
grafico1


genero_puntaje= barras.nivel.sexo=ggplot(datosorden,
                         aes(x = categoriaY, fill=ESTU_GENERO,(..count..)/sum(..count..))) +
  geom_bar(width=0.5, position="dodge") + theme_bw()+
  labs(fill = "Género")
barras.nivel.sexo + xlab("Nivel de puntaje") + ylab ("% de casos") +
  ggtitle("Resultados de la Prueba Saber 11 según género")




# Resultados de la prueba Saber 11 según estrato socioeconómico
grafico2=table(datosorden$FAMI_ESTRATOVIVIENDA, datosorden$categoriaY)
grafico2

barras.nivel.sexo=ggplot(datosorden,
                                         aes(x = categoriaY, fill=FAMI_ESTRATOVIVIENDA,(..count..)/sum(..count..))) +
  geom_bar(width=0.5, position="dodge") + theme_bw()+
  labs(fill = "Estrato")
barras.nivel.sexo + xlab("Nivel de puntaje") + ylab ("% de casos") +
  ggtitle("Resultados de la Prueba Saber 11 según estrato socioeconómico")



# Resultados de la Prueba Saber 11 según situación laboral

barras.nivel.sexo=ggplot(datosorden,
                                          aes(x = categoriaY, fill=ESTU_HORASSEMANATRABAJA,(..count..)/sum(..count..))) +
  geom_bar(width=0.5, position="dodge") + theme_bw()+
  labs(fill = "Horas de trabajo a la semana")
barras.nivel.sexo + xlab("Nivel de puntaje") + ylab ("% de casos") +
  ggtitle("Resultados de la Prueba Saber 11 según situación laboral")

grafico3=table(datosorden$ESTU_HORASSEMANATRABAJA, datosorden$categoriaY)
grafico3


# (Tabla). Nivel educativo de los padres y madres

tabla1=table(datosorden$FAMI_EDUMADRE_COD)
madre=prop.table(tabla1)*100

tabla2=table(datosorden$FAMI_EDUPADRE_COD)
padre=prop.table(tabla2)*100




# (Tabla). Acceso a tecnologías de aprendizaje

tabla3=table(datosorden$FAMI_TIENECOMPUTADOR_COD)
prop.table(tabla3)*100
  
tabla4=table(datosorden$FAMI_TIENEINTERNET_COD)
prop.table(tabla4)*100



# Resultados de la Prueba Saber 11 según la naturaleza jurídica de la institución educativa 

barras.nivel.sexo=ggplot(datosorden,
                         aes(x = categoriaY, fill=COLE_NATURALEZA,(..count..)/sum(..count..))) +
  geom_bar(width=0.5, position="dodge") + theme_bw()+
  labs(fill = "Naturaleza del colegio")
barras.nivel.sexo + xlab("Nivel de puntaje") + ylab ("% de casos") +
  ggtitle("Resultados de la Prueba Saber 11 según la naturaleza jurídica de la institución educativa ")

grafico4=table(datosorden$COLE_NATURALEZA, datosorden$categoriaY)
grafico4


# Resultados de la Prueba Saber 11 según la localización de la institución educativa.


barras.nivel.sexo=ggplot(datosorden,
                         aes(x = categoriaY, fill=COLE_AREA_UBICACION,(..count..)/sum(..count..))) +
  geom_bar(width=0.5, position="dodge") + theme_bw()+
  labs(fill = "Área")
barras.nivel.sexo + xlab("Nivel de puntaje") + ylab ("% de casos") +
  ggtitle("Resultados de la Prueba Saber 11 según la localización de la institución educativa")

grafico5=table(datosorden$COLE_AREA_UBICACION, datosorden$categoriaY)
grafico5