library(readxl)
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(ggplot2)
library(stats)
library(effsize)
library(tidyr)      
library(kableExtra)
## 
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows

Carátula

Institución Educativa: Universidad Digital del Estado de México
Plan de Estudios: Doctorado en Gestion e Innovacion educativa
Asignatura: Análisis de Datos para la Toma de Decisiones Actividad: Análisis de Datos Educativos
Fecha de Entrega: 09/04/2025

Índice

  1. Introducción
  2. Descripción del Conjunto de Datos
  3. Análisis Descriptivo
  4. Visualizaciones
  5. Conclusiones
  6. Referencias

Introducción

El presente trabajo tiene como objetivo analizar los resultados de las pruebas PLANEA 2018 para identificar patrones y áreas de oportunidad en el desempeño de los estudiantes, con el fin de proponer estrategias que mejoren la calidad educativa. La base de datos PLANEA (Plan Nacional para la Evaluación de los Aprendizajes) contiene información sobre el desempeño de los estudiantes en diferentes áreas de conocimiento, evaluando su nivel de logro en relación con los contenidos curriculares establecidos.

En este análisis, se trabajó con variables clave como el porcentaje de aciertos de los estudiantes, la dificultad de los reactivos y los contenidos curriculares evaluados. Estas variables están relacionadas entre sí, ya que la dificultad de los reactivos y el contenido curricular pueden influir directamente en el porcentaje de aciertos. A través de herramientas analíticas como gráficos de dispersión, boxplots y árboles de decisión, se identificaron patrones en los datos, como la relación entre la dificultad de los reactivos y el desempeño de los estudiantes, así como diferencias significativas entre los contenidos curriculares.

El análisis permite obtener información valiosa sobre las áreas en las que los estudiantes presentan mayores dificultades, los factores que influyen en su desempeño y las posibles estrategias para mejorar los resultados. Este enfoque basado en datos busca contribuir a la toma de decisiones informadas en el ámbito educativo, promoviendo una educación más equitativa y efectiva.

library(readxl)
library(dplyr)
library(ggplot2)
library(stats)
library(effsize)
library(rpart)
library(rpart.plot)

#Descripción del Conjunto de Datos El conjunto de datos utilizado en este análisis proviene de las pruebas PLANEA 2018 (Plan Nacional para la Evaluación de los Aprendizajes), una evaluación nacional aplicada en México para medir el nivel de logro de los estudiantes en áreas clave como Matemáticas y Lenguaje y Comunicación. Este conjunto de datos contiene información detallada sobre los reactivos evaluados, su dificultad, los contenidos curriculares asociados y el porcentaje de estudiantes que respondieron correctamente.

En particular, los datos incluyen las siguientes variables principales:

Clave del reactivo: Identificador único para cada reactivo evaluado. Contenido curricular: Tema o área específica del currículo al que pertenece el reactivo (por ejemplo, álgebra, geometría, comprensión lectora, etc.). Dificultad Rasch: Medida de la dificultad del reactivo, calculada utilizando el modelo de Rasch, que permite evaluar la probabilidad de que un estudiante promedio responda correctamente. Porcentaje de aciertos: Proporción estimada de estudiantes que respondieron correctamente a cada reactivo. El conjunto de datos incluye información tanto cuantitativa como categórica. Las variables cuantitativas, como la dificultad Rasch y el porcentaje de aciertos, permiten realizar análisis estadísticos y visualizaciones para identificar patrones y relaciones. Por otro lado, las variables categóricas, como el contenido curricular, facilitan la segmentación de los datos y el análisis comparativo entre diferentes áreas del conocimiento.

En este análisis, se exploraron estas variables para identificar cómo la dificultad de los reactivos y los contenidos curriculares influyen en el desempeño de los estudiantes. Además, se utilizaron herramientas como gráficos de dispersión, boxplots y árboles de decisión para visualizar y comprender mejor los patrones presentes en los datos.

file_path <- "PLANEA_062018_Resultados_de_Logro_LyC_20190109.xlsx"
planea_2018 <- read_excel(file_path, sheet = "15", range = "A7:H151", col_names = FALSE)
## New names:
## • `` -> `...1`
## • `` -> `...2`
## • `` -> `...3`
## • `` -> `...4`
## • `` -> `...5`
## • `` -> `...6`
## • `` -> `...7`
## • `` -> `...8`
head(planea_2018)
colnames(planea_2018)
## [1] "...1" "...2" "...3" "...4" "...5" "...6" "...7" "...8"
names(planea_2018) <- c("clave", "contenido_curricular", "dificultad", "global", "general_publica", "indigena", "comuntaria",   "privada") 
str(planea_2018)
## tibble [145 × 8] (S3: tbl_df/tbl/data.frame)
##  $ clave               : chr [1:145] "PLA_2" "PLA_14" "PLA_15" "PLA_17" ...
##  $ contenido_curricular: chr [1:145] "Identificar la intención del autor al escribir un artículo de opinión." "Identificar la función de un anuncio." "Identificar los elementos persuasivos de un anuncio." "Identificar la función sugestiva de una frase que aparece en un anuncio." ...
##  $ dificultad          : num [1:145] 607 509 555 432 447 364 512 368 566 582 ...
##  $ global              : num [1:145] 35 48 42 62 59 72 48 71 40 38 ...
##  $ general_publica     : num [1:145] 33 47 41 61 58 71 46 71 38 38 ...
##  $ indigena            : num [1:145] 25 35 30 44 44 59 37 52 29 33 ...
##  $ comuntaria          : num [1:145] 25 38 33 45 45 63 33 52 27 31 ...
##  $ privada             : num [1:145] 52 64 55 76 76 82 64 86 59 47 ...
PLANEA2018_comparacion <- planea_2018 %>% 
  select(general_publica, indigena, comuntaria, privada) %>%  
  na.omit()  
head(PLANEA2018_comparacion)

Análisis Descriptivo

summary(PLANEA2018_comparacion)
##  general_publica    indigena       comuntaria       privada     
##  Min.   :19.00   Min.   :15.00   Min.   :14.00   Min.   :29.00  
##  1st Qu.:37.00   1st Qu.:28.00   1st Qu.:27.00   1st Qu.:51.00  
##  Median :46.00   Median :36.00   Median :35.00   Median :62.00  
##  Mean   :45.84   Mean   :35.79   Mean   :34.87   Mean   :61.56  
##  3rd Qu.:53.00   3rd Qu.:42.00   3rd Qu.:41.00   3rd Qu.:72.00  
##  Max.   :84.00   Max.   :68.00   Max.   :63.00   Max.   :93.00

El análisis descriptivo de los datos de PLANEA 2018 permitió identificar patrones clave en el desempeño de los estudiantes, alineados con el objetivo de comprender los factores que influyen en los resultados de las pruebas y proponer estrategias para mejorar la calidad educativa. Los resultados muestran diferencias significativas entre los tipos de escuelas:

Las escuelas privadas destacan con el promedio más alto de aciertos (61.56%) y el valor máximo más alto (93%), seguidas por las escuelas públicas con un promedio de 45.84%. En contraste, las escuelas indígenas y comunitarias presentan promedios significativamente más bajos, con 35.79% y 34.87% respectivamente, siendo las escuelas comunitarias las que registran el valor mínimo más bajo (14%).

Un hallazgo importante es la variabilidad en los resultados, donde las escuelas públicas muestran el mayor rango intercuartílico, indicando una dispersión significativa en el desempeño de sus estudiantes. Esta variabilidad, junto con la relación negativa observada entre la dificultad de los reactivos y el porcentaje de aciertos, sugiere la necesidad de implementar estrategias pedagógicas diferenciadas y reforzar los contenidos más desafiantes en el currículo.

La brecha en el desempeño entre tipos de escuelas resalta la importancia de analizar no solo los promedios, sino también la distribución de los resultados. Aunque las escuelas privadas muestran un mejor desempeño promedio, la variabilidad en los resultados indica que no todos los estudiantes se benefician de manera equitativa de las ventajas que estas instituciones ofrecen. Esta heterogeneidad podría estar relacionada con diversos factores como los recursos educativos disponibles, las metodologías de enseñanza empleadas y las características socioeconómicas de los estudiantes.

Estos hallazgos refuerzan la necesidad de diseñar intervenciones específicas para cada tipo de escuela, priorizando recursos en aquellas con menor desempeño promedio, pero también considerando estrategias para reducir la variabilidad y garantizar que todos los estudiantes, independientemente de su contexto, tengan acceso a una educación de calidad. Es particularmente importante enfocarse en las escuelas indígenas y comunitarias, donde los resultados sugieren una necesidad urgente de apoyo y recursos adicionales.

Visualizaciones

library(readxl)
library(dplyr)
library(tidyr)


data <- read_excel(file_path, sheet = "15", skip = 3)
## New names:
## • `` -> `...1`
## • `` -> `...2`
## • `` -> `...3`
## • `` -> `...6`
## • `` -> `...7`
## • `` -> `...8`
colnames(data) <- c("Reactivo", "Contenido", "Dificultad", "Global", 
                    "General_Publica", "Indigena", "Comunitaria", "Privada")

data <- data %>% 
  filter(!is.na(Reactivo) | !is.na(Contenido))

data <- data %>%
  mutate(across(c(Dificultad, Global, General_Publica, Indigena, Comunitaria, Privada), 
                as.numeric))
data_long <- data %>%
  pivot_longer(cols = c(General_Publica, Indigena, Comunitaria, Privada),
               names_to = "Tipo_Escuela",
               values_to = "Porcentaje_Aciertos")
library(readxl)
library(dplyr)
library(tidyr)
library(ggplot2)


data <- read_excel(file_path, sheet = "15", skip = 3) %>%
  
  setNames(c("Reactivo", "Contenido", "Dificultad", "Global", 
             "General_Publica", "Indigena", "Comunitaria", "Privada")) %>%
  
  filter(!is.na(Dificultad) | !is.na(Global)) %>%
  
  mutate(across(c(Dificultad, Global, General_Publica, Indigena, Comunitaria, Privada), 
                ~as.numeric(as.character(.)))) %>%
  
  mutate(Contenido = trimws(Contenido))
## New names:
## • `` -> `...1`
## • `` -> `...2`
## • `` -> `...3`
## • `` -> `...6`
## • `` -> `...7`
## • `` -> `...8`
data_long <- data %>%
  pivot_longer(cols = c(General_Publica, Indigena, Comunitaria, Privada),
               names_to = "Tipo_Escuela",
               values_to = "Porcentaje_Aciertos") %>%
  
  filter(!is.na(Porcentaje_Aciertos))


ggplot(data_long, aes(x = Tipo_Escuela, y = Porcentaje_Aciertos, fill = Tipo_Escuela)) +
  stat_summary(fun = mean, geom = "bar", na.rm = TRUE) +
  stat_summary(fun.data = mean_se, geom = "errorbar", width = 0.2) +
  labs(title = "Promedio de Aciertos por Tipo de Escuela",
       x = "Tipo de Escuela",
       y = "Promedio de Aciertos (%)",
       fill = "Tipo de Escuela") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1),
        legend.position = "none") +
  scale_x_discrete(labels = function(x) gsub("_", " ", x))

ggplot(data_long, aes(x = Tipo_Escuela, y = Porcentaje_Aciertos, fill = Tipo_Escuela)) +
  geom_boxplot(na.rm = TRUE, outlier.shape = 1) +
  labs(title = "Distribución de Aciertos por Tipo de Escuela",
       x = "Tipo de Escuela",
       y = "Porcentaje de Aciertos (%)",
       fill = "Tipo de Escuela") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1),
        legend.position = "none") +
  scale_x_discrete(labels = function(x) gsub("_", " ", x))

ggplot(data_long, aes(x = Dificultad, y = Porcentaje_Aciertos, color = Tipo_Escuela)) +
  geom_point(alpha = 0.7, na.rm = TRUE) +
  geom_smooth(method = "lm", se = TRUE, na.rm = TRUE) +
  labs(title = "Relación entre Dificultad y Porcentaje de Aciertos",
       x = "Dificultad Rasch",
       y = "Porcentaje de Aciertos (%)",
       color = "Tipo de Escuela") +
  theme_minimal() +
  scale_color_discrete(labels = function(x) gsub("_", " ", x))
## `geom_smooth()` using formula = 'y ~ x'

ggsave("aciertos_por_tipo_escuela.png", width = 10, height = 6)
## `geom_smooth()` using formula = 'y ~ x'
ggsave("distribucion_aciertos.png", width = 10, height = 6)
## `geom_smooth()` using formula = 'y ~ x'
ggsave("relacion_dificultad_aciertos.png", width = 10, height = 6)
## `geom_smooth()` using formula = 'y ~ x'
ggsave("aciertos_por_contenido.png", width = 12, height = 8)
## `geom_smooth()` using formula = 'y ~ x'

Interpretación del boxplot

Interpretación del gráfico de cajas: Las escuelas privadas tienen una distribución más alta y consistente, con valores concentrados en el rango superior. Las escuelas públicas muestran una mayor dispersión, lo que sugiere desigualdades en el desempeño. Las escuelas indígenas y comunitarias tienen distribuciones más bajas y concentradas, lo que refleja desafíos comunes en estas comunidades. Las diferencias observadas en el gráfico sugieren que el tipo de escuela influye significativamente en los resultados de la prueba PLANEA.

Árbol de decisión

library(rpart)
library(rpart.plot)


modelo_arbol <- rpart(Porcentaje_Aciertos ~ Tipo_Escuela + Dificultad, 
                     data = data_long,
                     method = "anova",
                     control = rpart.control(maxdepth = 2,    
                                           minsplit = 30,     
                                           cp = 0.02))        
rpart.plot(modelo_arbol,
           type = 2,
           extra = 1,              
           box.palette = "Blues",
           fallen.leaves = TRUE,
           main = "Árbol de Decisión: Porcentaje de Aciertos",
           cex = 0.6,             
           compress = TRUE,
           digits = 1)            

png("arbol_decision.png", width = 1600, height = 1000, res = 150)
rpart.plot(modelo_arbol,
           type = 2,
           extra = 1,
           box.palette = "Blues",
           fallen.leaves = TRUE,
           main = "Árbol de Decisión: Porcentaje de Aciertos",
           cex = 0.6,
           compress = TRUE,
           digits = 1)
dev.off()
## png 
##   2
print(rpart.rules(modelo_arbol, style = "wide"))
##  Porcentaje_Aciertos                                                                                    
##                   30 when Tipo_Escuela is Comunitaria or General_Publica or Indigena & Dificultad >= 540
##                   46 when Tipo_Escuela is Comunitaria or General_Publica or Indigena & Dificultad <  540
##                   50 when Tipo_Escuela is                                    Privada & Dificultad >= 525
##                   72 when Tipo_Escuela is                                    Privada & Dificultad <  525

El análisis mediante un árbol de decisión fue elegido en lugar de una regresión lineal debido a las características de los datos y los objetivos del estudio. A diferencia de la regresión lineal, el árbol de decisión no requiere suposiciones sobre la relación entre las variables, lo que lo hace más flexible para explorar interacciones complejas. Además, el árbol es más interpretativo, ya que genera reglas claras y comprensibles que facilitan la comunicación de los resultados a diferentes audiencias, como docentes, administradores y responsables de políticas educativas. Este enfoque es particularmente útil en el contexto de los datos de PLANEA 2018, donde las relaciones entre el porcentaje de aciertos y las variables predictoras, como el tipo de escuela y la dificultad de los reactivos, no son necesariamente lineales.

El porcentaje de aciertos fue seleccionado como la variable objetivo porque es un indicador directo del desempeño académico en la prueba PLANEA. Analizar esta variable permite identificar brechas educativas entre diferentes tipos de escuelas y detectar áreas específicas que requieren intervención inmediata. Este enfoque no solo ayuda a comprender el desempeño general, sino que también permite segmentar los datos en grupos homogéneos, lo que facilita la identificación de patrones específicos y subgrupos que necesitan atención prioritaria.

El árbol de decisión generado con los datos de PLANEA 2018 mostró que el tipo de escuela es el factor más importante para predecir el porcentaje de aciertos. Los estudiantes de escuelas privadas tienen el mejor desempeño, con un promedio cercano al 61.56%. En contraste, las escuelas indígenas y comunitarias presentan los resultados más bajos, con promedios de 35.79% y 34.87%, respectivamente. Las escuelas públicas tienen un desempeño intermedio, con un promedio de 45.84%, pero presentan una gran variabilidad interna: algunos estudiantes tienen porcentajes de aciertos muy bajos (por debajo del 30%), mientras que otros superan el 50%.

El árbol segmenta los datos en grupos homogéneos y genera reglas claras, como que los estudiantes de escuelas públicas con menos del 30% de aciertos tienen un promedio esperado de 25%. Estas reglas permiten identificar patrones específicos y subgrupos que requieren atención prioritaria, facilitando la toma de decisiones y el diseño de estrategias educativas enfocadas en reducir las brechas de desempeño entre los diferentes tipos de escuelas. Además, el árbol destaca la importancia de considerar la dificultad de los reactivos como un factor secundario que influye en el desempeño, lo que sugiere la necesidad de reforzar los contenidos más desafiantes en el currículo.

En conclusión, el uso del árbol de decisión no solo permitió identificar los factores más relevantes que afectan el porcentaje de aciertos, sino que también generó información práctica y accionable para diseñar intervenciones educativas. Este enfoque es esencial para priorizar recursos, reducir las brechas de desempeño y garantizar que todos los estudiantes, independientemente de su contexto, tengan acceso a una educación de calidad.

Visualizaciones del modelo, como gráficos de dispersión con líneas de regresión o diagramas de árbol

library(ggplot2)
library(dplyr)
library(readxl)
library(rpart)
library(rpart.plot)



planea_lyc <- read_excel("PLANEA_062018_Resultados_de_Logro_LyC_20190109.xlsx",
                        sheet = "15",
                        skip = 5)
## New names:
## • `` -> `...2`
## • `` -> `...3`
## • `` -> `...4`
## • `` -> `...5`
## • `` -> `...6`
## • `` -> `...7`
## • `` -> `...8`
names(planea_lyc) <- c("Clave", "Contenido", "Dificultad", "Porcentaje", "Col5", "Col6", "Col7", "Col8")

planea_lyc <- planea_lyc %>%
  select(Clave, Contenido, Dificultad, Porcentaje) %>%
  na.omit()

planea_lyc$Contenido_Simple <- substr(planea_lyc$Contenido, 1, 30)

p1 <- ggplot(planea_lyc, aes(x = Dificultad, y = Porcentaje)) +
  geom_point(color = "blue", alpha = 0.6) +
  geom_smooth(method = "lm", color = "red") +
  theme_minimal() +
  labs(title = "Relación entre Dificultad y Porcentaje de Aciertos",
       x = "Dificultad",
       y = "Porcentaje de Aciertos") +
  theme(plot.title = element_text(size = 12))

arbol_lyc <- rpart(Porcentaje ~ Contenido_Simple + Dificultad,
                   data = planea_lyc,
                   method = "anova",
                   control = rpart.control(maxdepth = 4))
rpart.plot(arbol_lyc,
           main = "Árbol de Decisión - Análisis de Aciertos",
           box.palette = "RdYlBu",
           shadow.col = "gray",
           type = 4, # Cambiar el tipo de visualización
           extra = 101, # Mostrar porcentajes y número de casos
           fallen.leaves = TRUE, # Alinear las hojas en la parte inferior
           cex = 0.8, # Tamaño del texto
           tweak = 1.2, # Ajustar el espaciado
           compress = TRUE, # Comprimir el árbol verticalmente
           branch.lty = 3, # Estilo de las líneas
           box.col = "lightblue") # Color de las cajas
## Warning: labs do not fit even at cex 0.15, there may be some overplotting
## Warning: cex and tweak both specified, applying both

png("arbol_decision_planea.png", width = 1200, height = 800, res = 120)
rpart.plot(arbol_lyc,
           main = "Árbol de Decisión - Análisis de Aciertos",
           box.palette = "RdYlBu",
           shadow.col = "gray",
           type = 4,
           extra = 101,
           fallen.leaves = TRUE,
           cex = 0.8,
           tweak = 1.2,
           compress = TRUE,
           branch.lty = 3,
           box.col = "lightblue")
## Warning: labs do not fit even at cex 0.15, there may be some overplotting
## Warning: cex and tweak both specified, applying both
dev.off()
## png 
##   2
png("arbol_decision_planea.png", width = 1200, height = 800, res = 120)
rpart.plot(arbol_lyc,
           main = "Árbol de Decisión - Análisis de Aciertos",
           box.palette = "RdYlBu",
           shadow.col = "gray",
           type = 4,
           extra = 101,
           fallen.leaves = TRUE,
           cex = 0.8,
           tweak = 1.2,
           compress = TRUE,
           branch.lty = 3,
           box.col = "lightblue")
## Warning: labs do not fit even at cex 0.15, there may be some overplotting
## Warning: cex and tweak both specified, applying both
dev.off()
## png 
##   2
print(summary(arbol_lyc))
## Call:
## rpart(formula = Porcentaje ~ Contenido_Simple + Dificultad, data = planea_lyc, 
##     method = "anova", control = rpart.control(maxdepth = 4))
##   n= 141 
## 
##           CP nsplit  rel error     xerror       xstd
## 1 0.65151263      0 1.00000000 1.01646383 0.11482777
## 2 0.15423811      1 0.34848737 0.36534167 0.05190731
## 3 0.07632460      2 0.19424926 0.21612613 0.03009654
## 4 0.02925747      3 0.11792466 0.16086321 0.02553251
## 5 0.02588178      4 0.08866720 0.14620143 0.02540308
## 6 0.02210985      5 0.06278541 0.12027648 0.02545581
## 7 0.01000000      6 0.04067557 0.07967576 0.01825057
## 
## Variable importance
##       Dificultad Contenido_Simple 
##               59               41 
## 
## Node number 1: 141 observations,    complexity param=0.6515126
##   mean=47.00709, MSE=141.6808 
##   left son=2 (64 obs) right son=3 (77 obs)
##   Primary splits:
##       Dificultad       < 529.5 to the right, improve=0.6515126, (0 missing)
##       Contenido_Simple splits as  LRRLRLLLRLRLLRLLLLRLRRLRLRLLRLLLRRLLLLLLRLLRLLRLRLLLRLLLLRLLLRLLLLLLRRLRLLLRLRRRLLLRLRRLLL, improve=0.4472498, (0 missing)
##   Surrogate splits:
##       Contenido_Simple splits as  LRRRRRLLRLRRRRLRRLRLRRRRLRLRRLRRRRRLLRRRRLLRLLRLRRLRRLLRLRLLLRLRRRRRRRLRLLRRLRRRRRRRLRRLLL, agree=0.83, adj=0.625, (0 split)
## 
## Node number 2: 64 observations,    complexity param=0.0763246
##   mean=36.46875, MSE=36.93652 
##   left son=4 (17 obs) right son=5 (47 obs)
##   Primary splits:
##       Dificultad       < 611   to the right, improve=0.6449984, (0 missing)
##       Contenido_Simple splits as  L----RRR-L--L-L-RR-L----R-RR-RLRR--LRRL--LR-LR-R-RR--LR-R-RLL-RRRRRR--L-RR--R-----L-R--RRR, improve=0.5343649, (0 missing)
##   Surrogate splits:
##       Contenido_Simple splits as  L----RRR-L--L-L-RR-R----R-RR-RRRR--LRRL--LR-LR-R-RR--LR-R-RLL-RRRRRR--L-RR--R-----L-R--RRR, agree=0.953, adj=0.824, (0 split)
## 
## Node number 3: 77 observations,    complexity param=0.1542381
##   mean=55.76623, MSE=59.71159 
##   left son=6 (53 obs) right son=7 (24 obs)
##   Primary splits:
##       Dificultad       < 454.5 to the right, improve=0.6701507, (0 missing)
##       Contenido_Simple splits as  -RRLLL--L-LLLR-LL-LLLRLR-L-LR-RLLRL-RLLLL-LL--L-RLLLL--L-LL--L-LRLLLRL-RL-LR-RRRLLLL-RR---, improve=0.5351556, (0 missing)
##   Surrogate splits:
##       Contenido_Simple splits as  -RRLLL--L-LLLR-LL-LLLLLL-L-LR-RLLRL-RLLLL-LL--L-RLLLL--L-LL--L-LRLLLRL-RL-LR-RRLLLLL-RR---, agree=0.935, adj=0.792, (0 split)
## 
## Node number 4: 17 observations
##   mean=28.35294, MSE=13.2872 
## 
## Node number 5: 47 observations,    complexity param=0.02210985
##   mean=39.40426, MSE=13.04934 
##   left son=10 (22 obs) right son=11 (25 obs)
##   Primary splits:
##       Dificultad       < 576.5 to the right, improve=0.7201605, (0 missing)
##       Contenido_Simple splits as  -----RRL--------RL-L----L-RL-RLRR---RL----L--L-L-LR---R-R-L---RRRRRR----LR--R-------L--LLR, improve=0.3898120, (0 missing)
##   Surrogate splits:
##       Contenido_Simple splits as  -----RRL--------RL-L----L-RL-RLRR---RL----L--L-L-LR---R-R-L---RRLRRR----RR--L-------L--RLR, agree=0.894, adj=0.773, (0 split)
## 
## Node number 6: 53 observations,    complexity param=0.02588178
##   mean=51.50943, MSE=12.70274 
##   left son=12 (27 obs) right son=13 (26 obs)
##   Primary splits:
##       Dificultad       < 497.5 to the right, improve=0.7679818, (0 missing)
##       Contenido_Simple splits as  ---LRL--R-LLL--LR-LLRLLR-R-R---LL-L--LLLL-RR--R--LRLL--L-RL--R-R-LLL-R--L-L----RLLLR------, improve=0.5833007, (0 missing)
##   Surrogate splits:
##       Contenido_Simple splits as  ---LRL--R-RLL--LR-LLRLLR-R-R---RL-L--LLLL-RR--R--RRLL--L-RL--R-R-LRL-R--L-L----RLLLR------, agree=0.906, adj=0.808, (0 split)
## 
## Node number 7: 24 observations,    complexity param=0.02925747
##   mean=65.16667, MSE=35.13889 
##   left son=14 (17 obs) right son=15 (7 obs)
##   Primary splits:
##       Contenido_Simple splits as  -LR----------L-----L-R------R-L-LL--L---L-------R---------------L---R--R---L-LLL-----LL---, improve=0.6930548, (0 missing)
##       Dificultad       < 388   to the right, improve=0.6930548, (0 missing)
##   Surrogate splits:
##       Dificultad < 388   to the right, agree=1, adj=1, (0 split)
## 
## Node number 10: 22 observations
##   mean=36.13636, MSE=2.663223 
## 
## Node number 11: 25 observations
##   mean=42.28, MSE=4.5216 
## 
## Node number 12: 27 observations
##   mean=48.44444, MSE=2.617284 
## 
## Node number 13: 26 observations
##   mean=54.69231, MSE=3.289941 
## 
## Node number 14: 17 observations
##   mean=62, MSE=6.470588 
## 
## Node number 15: 7 observations
##   mean=72.85714, MSE=21.26531 
## 
## n= 141 
## 
## node), split, n, deviance, yval
##       * denotes terminal node
## 
##  1) root 141 19976.99000 47.00709  
##    2) Dificultad>=529.5 64  2363.93800 36.46875  
##      4) Dificultad>=611 17   225.88240 28.35294 *
##      5) Dificultad< 611 47   613.31910 39.40426  
##       10) Dificultad>=576.5 22    58.59091 36.13636 *
##       11) Dificultad< 576.5 25   113.04000 42.28000 *
##    3) Dificultad< 529.5 77  4597.79200 55.76623  
##      6) Dificultad>=454.5 53   673.24530 51.50943  
##       12) Dificultad>=497.5 27    70.66667 48.44444 *
##       13) Dificultad< 497.5 26    85.53846 54.69231 *
##      7) Dificultad< 454.5 24   843.33330 65.16667  
##       14) Contenido_Simple=Completar la información en un,Identificar el lugar en el que,Identificar el uso correcto de,Identificar la congruencia ent,Identificar la diferencia entr,Identificar la emoción que exp,Identificar la función de los ,Identificar la función sugesti,Inferir las emociones de los p,Reconocer las irregularidades ,Reconocer las ventajas de habl,Reconocer los elementos conven,Reconocimiento de las irregula,Seleccionar fuentes de consult,Seleccionar fuentes de informa 17   110.00000 62.00000 *
##       15) Contenido_Simple=Determinar el propósito de un ,Identificar el uso de la rima ,Identificar información puntua,Identificar la voz narrativa e,Reconocer  los elementos conve,Reconocer la función de una en 7   148.85710 72.85714 *
png("arbol_decision_planea.png", width = 1200, height = 800, res = 120)
rpart.plot(arbol_lyc,
           main = "Árbol de Decisión - Análisis de Aciertos",
           box.palette = "RdYlBu",
           shadow.col = "gray",
           type = 4,
           extra = 101,
           fallen.leaves = TRUE,
           cex = 0.8,
           tweak = 1.2,
           compress = TRUE,
           branch.lty = 3,
           box.col = "lightblue")
## Warning: labs do not fit even at cex 0.15, there may be some overplotting
## Warning: cex and tweak both specified, applying both
dev.off()
## png 
##   2
print(summary(arbol_lyc))
## Call:
## rpart(formula = Porcentaje ~ Contenido_Simple + Dificultad, data = planea_lyc, 
##     method = "anova", control = rpart.control(maxdepth = 4))
##   n= 141 
## 
##           CP nsplit  rel error     xerror       xstd
## 1 0.65151263      0 1.00000000 1.01646383 0.11482777
## 2 0.15423811      1 0.34848737 0.36534167 0.05190731
## 3 0.07632460      2 0.19424926 0.21612613 0.03009654
## 4 0.02925747      3 0.11792466 0.16086321 0.02553251
## 5 0.02588178      4 0.08866720 0.14620143 0.02540308
## 6 0.02210985      5 0.06278541 0.12027648 0.02545581
## 7 0.01000000      6 0.04067557 0.07967576 0.01825057
## 
## Variable importance
##       Dificultad Contenido_Simple 
##               59               41 
## 
## Node number 1: 141 observations,    complexity param=0.6515126
##   mean=47.00709, MSE=141.6808 
##   left son=2 (64 obs) right son=3 (77 obs)
##   Primary splits:
##       Dificultad       < 529.5 to the right, improve=0.6515126, (0 missing)
##       Contenido_Simple splits as  LRRLRLLLRLRLLRLLLLRLRRLRLRLLRLLLRRLLLLLLRLLRLLRLRLLLRLLLLRLLLRLLLLLLRRLRLLLRLRRRLLLRLRRLLL, improve=0.4472498, (0 missing)
##   Surrogate splits:
##       Contenido_Simple splits as  LRRRRRLLRLRRRRLRRLRLRRRRLRLRRLRRRRRLLRRRRLLRLLRLRRLRRLLRLRLLLRLRRRRRRRLRLLRRLRRRRRRRLRRLLL, agree=0.83, adj=0.625, (0 split)
## 
## Node number 2: 64 observations,    complexity param=0.0763246
##   mean=36.46875, MSE=36.93652 
##   left son=4 (17 obs) right son=5 (47 obs)
##   Primary splits:
##       Dificultad       < 611   to the right, improve=0.6449984, (0 missing)
##       Contenido_Simple splits as  L----RRR-L--L-L-RR-L----R-RR-RLRR--LRRL--LR-LR-R-RR--LR-R-RLL-RRRRRR--L-RR--R-----L-R--RRR, improve=0.5343649, (0 missing)
##   Surrogate splits:
##       Contenido_Simple splits as  L----RRR-L--L-L-RR-R----R-RR-RRRR--LRRL--LR-LR-R-RR--LR-R-RLL-RRRRRR--L-RR--R-----L-R--RRR, agree=0.953, adj=0.824, (0 split)
## 
## Node number 3: 77 observations,    complexity param=0.1542381
##   mean=55.76623, MSE=59.71159 
##   left son=6 (53 obs) right son=7 (24 obs)
##   Primary splits:
##       Dificultad       < 454.5 to the right, improve=0.6701507, (0 missing)
##       Contenido_Simple splits as  -RRLLL--L-LLLR-LL-LLLRLR-L-LR-RLLRL-RLLLL-LL--L-RLLLL--L-LL--L-LRLLLRL-RL-LR-RRRLLLL-RR---, improve=0.5351556, (0 missing)
##   Surrogate splits:
##       Contenido_Simple splits as  -RRLLL--L-LLLR-LL-LLLLLL-L-LR-RLLRL-RLLLL-LL--L-RLLLL--L-LL--L-LRLLLRL-RL-LR-RRLLLLL-RR---, agree=0.935, adj=0.792, (0 split)
## 
## Node number 4: 17 observations
##   mean=28.35294, MSE=13.2872 
## 
## Node number 5: 47 observations,    complexity param=0.02210985
##   mean=39.40426, MSE=13.04934 
##   left son=10 (22 obs) right son=11 (25 obs)
##   Primary splits:
##       Dificultad       < 576.5 to the right, improve=0.7201605, (0 missing)
##       Contenido_Simple splits as  -----RRL--------RL-L----L-RL-RLRR---RL----L--L-L-LR---R-R-L---RRRRRR----LR--R-------L--LLR, improve=0.3898120, (0 missing)
##   Surrogate splits:
##       Contenido_Simple splits as  -----RRL--------RL-L----L-RL-RLRR---RL----L--L-L-LR---R-R-L---RRLRRR----RR--L-------L--RLR, agree=0.894, adj=0.773, (0 split)
## 
## Node number 6: 53 observations,    complexity param=0.02588178
##   mean=51.50943, MSE=12.70274 
##   left son=12 (27 obs) right son=13 (26 obs)
##   Primary splits:
##       Dificultad       < 497.5 to the right, improve=0.7679818, (0 missing)
##       Contenido_Simple splits as  ---LRL--R-LLL--LR-LLRLLR-R-R---LL-L--LLLL-RR--R--LRLL--L-RL--R-R-LLL-R--L-L----RLLLR------, improve=0.5833007, (0 missing)
##   Surrogate splits:
##       Contenido_Simple splits as  ---LRL--R-RLL--LR-LLRLLR-R-R---RL-L--LLLL-RR--R--RRLL--L-RL--R-R-LRL-R--L-L----RLLLR------, agree=0.906, adj=0.808, (0 split)
## 
## Node number 7: 24 observations,    complexity param=0.02925747
##   mean=65.16667, MSE=35.13889 
##   left son=14 (17 obs) right son=15 (7 obs)
##   Primary splits:
##       Contenido_Simple splits as  -LR----------L-----L-R------R-L-LL--L---L-------R---------------L---R--R---L-LLL-----LL---, improve=0.6930548, (0 missing)
##       Dificultad       < 388   to the right, improve=0.6930548, (0 missing)
##   Surrogate splits:
##       Dificultad < 388   to the right, agree=1, adj=1, (0 split)
## 
## Node number 10: 22 observations
##   mean=36.13636, MSE=2.663223 
## 
## Node number 11: 25 observations
##   mean=42.28, MSE=4.5216 
## 
## Node number 12: 27 observations
##   mean=48.44444, MSE=2.617284 
## 
## Node number 13: 26 observations
##   mean=54.69231, MSE=3.289941 
## 
## Node number 14: 17 observations
##   mean=62, MSE=6.470588 
## 
## Node number 15: 7 observations
##   mean=72.85714, MSE=21.26531 
## 
## n= 141 
## 
## node), split, n, deviance, yval
##       * denotes terminal node
## 
##  1) root 141 19976.99000 47.00709  
##    2) Dificultad>=529.5 64  2363.93800 36.46875  
##      4) Dificultad>=611 17   225.88240 28.35294 *
##      5) Dificultad< 611 47   613.31910 39.40426  
##       10) Dificultad>=576.5 22    58.59091 36.13636 *
##       11) Dificultad< 576.5 25   113.04000 42.28000 *
##    3) Dificultad< 529.5 77  4597.79200 55.76623  
##      6) Dificultad>=454.5 53   673.24530 51.50943  
##       12) Dificultad>=497.5 27    70.66667 48.44444 *
##       13) Dificultad< 497.5 26    85.53846 54.69231 *
##      7) Dificultad< 454.5 24   843.33330 65.16667  
##       14) Contenido_Simple=Completar la información en un,Identificar el lugar en el que,Identificar el uso correcto de,Identificar la congruencia ent,Identificar la diferencia entr,Identificar la emoción que exp,Identificar la función de los ,Identificar la función sugesti,Inferir las emociones de los p,Reconocer las irregularidades ,Reconocer las ventajas de habl,Reconocer los elementos conven,Reconocimiento de las irregula,Seleccionar fuentes de consult,Seleccionar fuentes de informa 17   110.00000 62.00000 *
##       15) Contenido_Simple=Determinar el propósito de un ,Identificar el uso de la rima ,Identificar información puntua,Identificar la voz narrativa e,Reconocer  los elementos conve,Reconocer la función de una en 7   148.85710 72.85714 *
cat("\nReglas del árbol de decisión:\n")
## 
## Reglas del árbol de decisión:
print(rpart.rules(arbol_lyc, cover = TRUE))
##  Porcentaje                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  cover
##          28 when Dificultad >=        611                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      12%
##          36 when Dificultad is 577 to 611                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      16%
##          42 when Dificultad is 530 to 577                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      18%
##          48 when Dificultad is 498 to 530                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      19%
##          55 when Dificultad is 455 to 498                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      18%
##          62 when Dificultad <  455        & Contenido_Simple is Completar la información en un or Identificar el lugar en el que or Identificar el uso correcto de or Identificar la congruencia ent or Identificar la diferencia entr or Identificar la emoción que exp or Identificar la función de los  or Identificar la función sugesti or Inferir las emociones de los p or Reconocer las irregularidades  or Reconocer las ventajas de habl or Reconocer los elementos conven or Reconocimiento de las irregula or Seleccionar fuentes de consult or Seleccionar fuentes de informa     12%
##          73 when Dificultad <  455        & Contenido_Simple is                                                                                                                                                                                                                                                                                                                   Determinar el propósito de un  or Identificar el uso de la rima  or Identificar información puntua or Identificar la voz narrativa e or Reconocer  los elementos conve or Reconocer la función de una en      5%
cat("\nReglas del árbol de decisión:\n")
## 
## Reglas del árbol de decisión:
print(rpart.rules(arbol_lyc, cover = TRUE))
##  Porcentaje                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  cover
##          28 when Dificultad >=        611                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      12%
##          36 when Dificultad is 577 to 611                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      16%
##          42 when Dificultad is 530 to 577                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      18%
##          48 when Dificultad is 498 to 530                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      19%
##          55 when Dificultad is 455 to 498                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      18%
##          62 when Dificultad <  455        & Contenido_Simple is Completar la información en un or Identificar el lugar en el que or Identificar el uso correcto de or Identificar la congruencia ent or Identificar la diferencia entr or Identificar la emoción que exp or Identificar la función de los  or Identificar la función sugesti or Inferir las emociones de los p or Reconocer las irregularidades  or Reconocer las ventajas de habl or Reconocer los elementos conven or Reconocimiento de las irregula or Seleccionar fuentes de consult or Seleccionar fuentes de informa     12%
##          73 when Dificultad <  455        & Contenido_Simple is                                                                                                                                                                                                                                                                                                                   Determinar el propósito de un  or Identificar el uso de la rima  or Identificar información puntua or Identificar la voz narrativa e or Reconocer  los elementos conve or Reconocer la función de una en      5%

Discusión de los resultados

Los resultados muestran una clara brecha en el desempeño entre las escuelas privadas y las demás categorías. Las escuelas privadas no solo tienen el promedio más alto, sino también una menor dispersión, lo que indica consistencia en los resultados. Las escuelas públicas tienen una mayor variabilidad, lo que podría reflejar desigualdades internas en el sistema público. Las escuelas indígenas y comunitarias enfrentan desafíos significativos, con promedios bajos y distribuciones concentradas en valores inferiores. Estos hallazgos sugieren que el tipo de escuela es un factor determinante en el desempeño de los estudiantes en la prueba PLANEA.

Implicaciones de los resultados obtenidos

Los gráficos de dispersión muestran que existe una relación negativa entre la dificultad de los reactivos y el porcentaje de aciertos. Esto implica que, a medida que los reactivos son más difíciles, los estudiantes tienen menos probabilidades de responder correctamente. Implicación educativa: Este hallazgo sugiere que los reactivos más difíciles podrían estar fuera del alcance del nivel de preparación de los estudiantes. Esto podría indicar la necesidad de ajustar el diseño curricular o reforzar los contenidos más complejos en el aula.

El árbol de decisión identifica los factores más influyentes en el porcentaje de aciertos, como el contenido curricular y la dificultad de los reactivos; Como que los estudiantes podrían tener un mejor desempeño en ciertos contenidos con reactivos de dificultad moderada. Este análisis implicaria que hay que priorizar esfuerzos en áreas clave.

Por ejemplo: Diseñar programas de tutorías específicas para los contenidos con menor desempeño. Ajustar la dificultad de los reactivos en futuras evaluaciones para que sean más representativos del nivel de los estudiantes. Implementar estrategias diferenciadas según el nivel de dificultad de los temas.

Aplicaciones en un contexto educativo real

Los hallazgos pueden guiar la creación de programas de intervención enfocados en los contenidos más desafiantes, como talleres o materiales de refuerzo para los temas con menor porcentaje de aciertos. Además, pueden ser utilizados para capacitar a los docentes en áreas específicas, brindándoles herramientas pedagógicas para abordar temas complejos o reactivos de mayor dificultad. También permiten revisar el currículo, ajustándolo para que se alinee mejor con las capacidades y necesidades de los estudiantes. Asimismo, los responsables de políticas educativas pueden usar esta información para asignar recursos de manera más eficiente, priorizando escuelas o regiones con menor desempeño. Finalmente, estos resultados pueden servir como línea base para monitorear el impacto de futuras intervenciones, asegurando que las decisiones tomadas estén respaldadas por datos y contribuyan a una mejora continua en la calidad educativa.

Resultados

En esta sección se presentan los resultados obtenidos del análisis de los datos de PLANEA 2018, organizados en función del objetivo planteado: identificar los factores que influyen en el porcentaje de aciertos y proponer estrategias para mejorar la calidad educativa. Los resultados se presentan mediante estadísticas descriptivas, tablas y gráficas, las cuales se explican en relación con el objetivo del análisis.

  1. Estadísticas descriptivas del porcentaje de aciertos por tipo de escuela El análisis descriptivo muestra diferencias significativas en el desempeño de los estudiantes según el tipo de escuela. En la Tabla 1 se resumen los promedios, valores mínimos, máximos y la dispersión (rango intercuartílico) del porcentaje de aciertos para cada tipo de escuela.

Tabla 1. Estadísticas descriptivas del porcentaje de aciertos por tipo de escuela

library(dplyr)
library(tidyr)

tabla_descriptiva <- data_long %>%
  group_by(Tipo_Escuela) %>%
  summarise(
    Promedio = mean(Porcentaje_Aciertos, na.rm = TRUE),
    Minimo = min(Porcentaje_Aciertos, na.rm = TRUE),
    Maximo = max(Porcentaje_Aciertos, na.rm = TRUE),
    Rango_Intercuartilico = IQR(Porcentaje_Aciertos, na.rm = TRUE)
  ) %>%
  mutate(
    Promedio = round(Promedio, 2),
    Minimo = round(Minimo, 0),
    Maximo = round(Maximo, 0),
    Rango_Intercuartilico = round(Rango_Intercuartilico, 0)
  )


print(tabla_descriptiva)
## # A tibble: 4 × 5
##   Tipo_Escuela    Promedio Minimo Maximo Rango_Intercuartilico
##   <chr>              <dbl>  <dbl>  <dbl>                 <dbl>
## 1 Comunitaria         34.9     14     63                    14
## 2 General_Publica     45.8     19     84                    16
## 3 Indigena            35.8     15     68                    14
## 4 Privada             61.6     29     93                    21
library(knitr)
kable(tabla_descriptiva,
      col.names = c("Tipo de Escuela", "Promedio (%)", "Mínimo (%)", "Máximo (%)", "Rango Intercuartílico (%)"),
      caption = "Tabla 1. Estadísticas descriptivas del porcentaje de aciertos por tipo de escuela",
      format = "pipe")
Tabla 1. Estadísticas descriptivas del porcentaje de aciertos por tipo de escuela
Tipo de Escuela Promedio (%) Mínimo (%) Máximo (%) Rango Intercuartílico (%)
Comunitaria 34.87 14 63 14
General_Publica 45.84 19 84 16
Indigena 35.79 15 68 14
Privada 61.56 29 93 21

La Gráfica 1 complementa esta información mostrando los promedios de aciertos por tipo de escuela. Se observa que las escuelas privadas tienen el mejor desempeño promedio (61.56%), mientras que las escuelas indígenas y comunitarias presentan los resultados más bajos, con promedios de 35.79% y 34.87%, respectivamente. Las escuelas públicas tienen un desempeño intermedio, pero con una mayor variabilidad en los resultados.

  1. Distribución del porcentaje de aciertos por tipo de escuela La Gráfica 2 muestra un boxplot que ilustra la dispersión de los resultados dentro de cada tipo de escuela. Las escuelas públicas presentan la mayor variabilidad, lo que indica que, aunque en promedio tienen un desempeño intermedio, existen estudiantes con resultados muy bajos (por debajo del 30%) y otros con resultados altos (superiores al 50%). En contraste, las escuelas privadas tienen una menor dispersión, lo que sugiere un desempeño más uniforme entre sus estudiantes.

  2. Relación entre la dificultad de los reactivos y el porcentaje de aciertos La Gráfica 3 muestra la relación entre la dificultad de los reactivos (medida por la dificultad Rasch) y el porcentaje de aciertos. Se observa una relación negativa: a medida que aumenta la dificultad de los reactivos, el porcentaje de aciertos disminuye. Este hallazgo refuerza la necesidad de diseñar estrategias pedagógicas específicas para abordar los contenidos más desafiantes, especialmente en las escuelas con menor desempeño promedio.

  3. Árbol de decisión El árbol de decisión generado con los datos de PLANEA 2018 muestra que el tipo de escuela es el factor más importante para predecir el porcentaje de aciertos. Las reglas generadas por el árbol permiten identificar subgrupos específicos, como los estudiantes de escuelas públicas con menos del 30% de aciertos, quienes tienen un promedio esperado de 25%. Este análisis segmenta los datos en grupos homogéneos y facilita la toma de decisiones informadas.

Relación con el objetivo Los resultados obtenidos corresponden directamente al objetivo planteado, ya que permiten identificar los factores que influyen en el porcentaje de aciertos y proponer estrategias para mejorar la calidad educativa. Las estadísticas descriptivas y las gráficas muestran que el tipo de escuela es el principal factor que afecta el desempeño, mientras que la dificultad de los reactivos y el contenido curricular también tienen un impacto significativo. Estos hallazgos refuerzan la necesidad de diseñar intervenciones específicas para cada tipo de escuela, priorizando recursos en aquellas con menor desempeño promedio y abordando los contenidos más desafiantes en el currículo.

Conclusiones

El uso del árbol de decisión permitió segmentar a los estudiantes en grupos con características similares, identificando al tipo de escuela como el factor más determinante en el desempeño. Este hallazgo refuerza la importancia de considerar el contexto escolar al diseñar políticas educativas y estrategias de intervención.

Los resultados obtenidos sugieren la necesidad de implementar acciones específicas para reducir las brechas de desempeño entre los diferentes tipos de escuelas. Entre estas acciones se podrían incluir programas de tutorías dirigidos a estudiantes de escuelas indígenas y comunitarias, capacitación docente enfocada en la enseñanza de contenidos más complejos, y una mayor inversión en infraestructura y recursos educativos en las escuelas más vulnerables.

Sin embargo, es importante reconocer las limitaciones del análisis. Los datos utilizados no incluyen variables contextuales como el nivel socioeconómico, la infraestructura escolar o la participación en programas educativos, lo que podría ofrecer una visión más completa del problema. Incorporar estas variables en futuros análisis sería clave para profundizar en la comprensión de los factores que afectan el desempeño de los estudiantes.

En conclusión, este análisis destaca la existencia de brechas significativas en el desempeño académico según el tipo de escuela, reflejando desigualdades estructurales que deben ser abordadas mediante políticas educativas inclusivas. Los hallazgos no solo proporcionan una base para la toma de decisiones informadas, sino que también subrayan la importancia de continuar investigando y monitoreando el impacto de las intervenciones educativas para garantizar una educación más equitativa y de calidad para todos los estudiantes.

Referencias

Base de datos Bases de datos Planea, 6° de primaria. (s/f). INEE. Recuperado el 27 de febrero de 2025, de https://www.inee.edu.mx/evaluaciones/planea/sexto-primaria-ciclo-2017-2018/