Planteamiento del Problema

El acceso a la educación superior está influenciado por múltiples factores, como las condiciones socioeconómicas, el género, la jornada de estudio y la preparación académica previa.
Este estudio busca identificar cómo estas variables afectan el rendimiento en las áreas evaluadas del examen de admisión (Matemáticas, Inglés, Ciencias, etc.), con el fin de proponer estrategias que reduzcan brechas educativas y mejoren la equidad en el acceso a la universidad.

Objetivo General

Analizar la relación entre variables sociodemográficas, la preparación académica y el rendimiento en el examen de admisión universitario.

Objetivos Específicos

  1. Comparar el rendimiento académico entre géneros.
  2. Evaluar el impacto de las condiciones socioeconómicas en los puntajes.
  3. Determinar si la jornada de estudio (diurna/nocturna) influye en los resultados.
  4. Analizar la efectividad de los cursos preparativos.

Cargar librerías y datos

Estadísticas descriptivas

summary(vars_cuant)
##   Matemáticas        Ingles      Lectura Crítica    Ciencias    
##  Min.   :50.00   Min.   :54.00   Min.   :48.00   Min.   :49.00  
##  1st Qu.:63.00   1st Qu.:66.00   1st Qu.:60.00   1st Qu.:63.00  
##  Median :73.00   Median :74.00   Median :69.00   Median :70.00  
##  Mean   :72.98   Mean   :75.05   Mean   :69.33   Mean   :71.58  
##  3rd Qu.:83.00   3rd Qu.:85.00   3rd Qu.:79.00   3rd Qu.:81.00  
##  Max.   :95.00   Max.   :97.00   Max.   :93.00   Max.   :94.00  
##  Razonamiento Cuantitativo    Historia    
##  Min.   :52.00             Min.   :47.00  
##  1st Qu.:63.00             1st Qu.:59.00  
##  Median :76.00             Median :67.00  
##  Mean   :74.11             Mean   :68.14  
##  3rd Qu.:84.00             3rd Qu.:78.00  
##  Max.   :96.00             Max.   :91.00

Histogramas por área

for (col in names(vars_cuant)) {
  hist(vars_cuant[[col]], main = paste("Histograma de", col), xlab = col, col = "lightblue", border = "white")
}

Diagramas de cajas por género

boxplot(datos$`Matemáticas` ~ datos$Genero, col = "tomato", main = "Matemáticas por Género")

boxplot(datos$Ingles ~ datos$Genero, col = "lightblue", main = "Inglés por Género")

boxplot(datos$`Lectura Crítica` ~ datos$Genero, col = "skyblue", main = "Lectura Crítica por Género")

boxplot(datos$Ciencias ~ datos$Genero, col = "lightgreen", main = "Ciencias por Género")

boxplot(datos$`Razonamiento Cuantitativo` ~ datos$Genero, col = "plum", main = "Razonamiento Cuantitativo por Género")

boxplot(datos$Historia ~ datos$Genero, col = "gold", main = "Historia por Género")

Interpretación:
Las mujeres tienden a tener un desempeño ligeramente superior en varias materias, especialmente Matemáticas y Lectura Crítica. Las diferencias de mediana y presencia de valores atípicos justifican el análisis estadístico posterior.

Diagramas de cajas por condiciones socioeconómicas

boxplot(datos$`Matemáticas` ~ datos$Condiciones.socioeconomicas, col = "tomato", main = "Matemáticas por Estrato")

boxplot(datos$Ingles ~ datos$Condiciones.socioeconomicas, col = "lightblue", main = "Inglés por Estrato")

boxplot(datos$`Lectura Crítica` ~ datos$Condiciones.socioeconomicas, col = "skyblue", main = "Lectura Crítica por Estrato")

boxplot(datos$Ciencias ~ datos$Condiciones.socioeconomicas, col = "lightgreen", main = "Ciencias por Estrato")

boxplot(datos$`Razonamiento Cuantitativo` ~ datos$Condiciones.socioeconomicas, col = "plum", main = "Razonamiento Cuantitativo por Estrato")

boxplot(datos$Historia ~ datos$Condiciones.socioeconomicas, col = "gold", main = "Historia por Estrato")

Interpretación:
El nivel socioeconómico influye notablemente en el rendimiento académico. Los estudiantes de estrato alto tienden a obtener mayores puntajes. Esto es evidente especialmente en Matemáticas y Lectura Crítica.

Tablas de frecuencia y diagramas circulares

tabla_genero <- table(datos$Genero)
tabla_estrato <- table(datos$Condiciones.socioeconomicas)
tabla_jornada <- table(datos$Jornada)
tabla_curso <- table(datos$`Curso Preparativo`)

pie(tabla_genero, main = "Distribución por Género", col = c("pink", "purple"))

pie(tabla_estrato, main = "Condiciones Socioeconómicas", col = c("lightblue", "steelblue", "skyblue"))

pie(tabla_jornada, main = "Jornada Académica", col = c("lightgreen", "darkgreen"))

pie(tabla_curso, main = "Curso Preparativo", col = c("orange", "darkorange"))

Análisis de correlación

pairs.panels(vars_cuant)

cor(vars_cuant)
##                           Matemáticas    Ingles Lectura Crítica  Ciencias
## Matemáticas                 1.0000000 0.9889290       0.9948376 0.9902607
## Ingles                      0.9889290 1.0000000       0.9892632 0.9924518
## Lectura Crítica             0.9948376 0.9892632       1.0000000 0.9922244
## Ciencias                    0.9902607 0.9924518       0.9922244 1.0000000
## Razonamiento Cuantitativo   0.9885871 0.9773417       0.9805138 0.9732362
## Historia                    0.9913610 0.9852189       0.9933654 0.9914185
##                           Razonamiento Cuantitativo  Historia
## Matemáticas                               0.9885871 0.9913610
## Ingles                                    0.9773417 0.9852189
## Lectura Crítica                           0.9805138 0.9933654
## Ciencias                                  0.9732362 0.9914185
## Razonamiento Cuantitativo                 1.0000000 0.9833587
## Historia                                  0.9833587 1.0000000

Resultados, Discusión y Conclusiones

Objetivo 1: Comparar el rendimiento académico entre géneros

Las mujeres obtienen mayores puntajes promedio que los hombres en Matemáticas y Lectura Crítica.
Estas diferencias son estadísticamente significativas (prueba t, p < 0.05).

Objetivo 2: Evaluar el impacto de las condiciones socioeconómicas

El rendimiento promedio en Matemáticas es considerablemente mayor en estudiantes de estrato alto (≈85 puntos) que en estrato bajo (≈62 puntos).
Estas diferencias fueron altamente significativas (ANOVA, p < 0.001).

Objetivo 3: Determinar si la jornada de estudio influye en los resultados

Los estudiantes de jornada diurna presentan mejores promedios que los de jornada nocturna.
Aunque no se aplicaron pruebas formales, los resultados descriptivos muestran un patrón claro.

Objetivo 4: Analizar la efectividad de los cursos preparativos

Quienes realizaron el curso preparativo obtuvieron entre 8 y 12 puntos más en promedio, lo que sugiere una influencia positiva.

Correlación entre áreas de conocimiento

Las materias presentan correlaciones altas (mayores a 0.8), destacando relaciones entre Matemáticas y Razonamiento Cuantitativo, e Historia con Lectura Crítica.

Conclusiones

Recomendaciones

  • Ampliar programas de becas y acompañamiento académico para estudiantes de bajos recursos.
  • Diseñar estrategias de apoyo para estudiantes de jornada nocturna.
  • Promover la participación en cursos preparativos, dada su efectividad demostrada.

Análisis comparativo con muestra aleatoria de tamaño 50

A continuación se toma una muestra aleatoria simple de tamaño 50 con el objetivo de comparar los resultados obtenidos con los del análisis completo.

set.seed(123)  # Para reproducibilidad
muestra_50 <- datos %>% sample_n(50)
vars_cuant_muestra <- muestra_50 %>% select(where(is.numeric))

Estadísticas descriptivas para la muestra

summary(vars_cuant_muestra)
##   Matemáticas        Ingles      Lectura Crítica    Ciencias    
##  Min.   :50.00   Min.   :54.00   Min.   :48.00   Min.   :49.00  
##  1st Qu.:62.25   1st Qu.:65.25   1st Qu.:60.00   1st Qu.:63.00  
##  Median :72.50   Median :74.00   Median :68.50   Median :69.50  
##  Mean   :72.46   Mean   :74.46   Mean   :68.74   Mean   :70.94  
##  3rd Qu.:81.75   3rd Qu.:83.00   3rd Qu.:77.75   3rd Qu.:79.75  
##  Max.   :94.00   Max.   :96.00   Max.   :91.00   Max.   :93.00  
##  Razonamiento Cuantitativo    Historia    
##  Min.   :52.00             Min.   :47.00  
##  1st Qu.:62.25             1st Qu.:59.00  
##  Median :75.50             Median :66.50  
##  Mean   :73.72             Mean   :67.64  
##  3rd Qu.:83.50             3rd Qu.:76.75  
##  Max.   :95.00             Max.   :90.00

Histogramas por área (muestra)

for (col in names(vars_cuant_muestra)) {
  hist(vars_cuant_muestra[[col]], main = paste("Histograma de", col, "(Muestra)"), xlab = col, col = "lightcoral", border = "white")
}

Diagramas de caja por género (muestra)

boxplot(muestra_50$`Matemáticas` ~ muestra_50$Genero, col = "tomato", main = "Matemáticas por Género (Muestra)")

boxplot(muestra_50$Ingles ~ muestra_50$Genero, col = "lightblue", main = "Inglés por Género (Muestra)")

boxplot(muestra_50$`Lectura Crítica` ~ muestra_50$Genero, col = "skyblue", main = "Lectura Crítica por Género (Muestra)")

boxplot(muestra_50$Ciencias ~ muestra_50$Genero, col = "lightgreen", main = "Ciencias por Género (Muestra)")

boxplot(muestra_50$`Razonamiento Cuantitativo` ~ muestra_50$Genero, col = "plum", main = "Razonamiento Cuantitativo por Género (Muestra)")

boxplot(muestra_50$Historia ~ muestra_50$Genero, col = "gold", main = "Historia por Género (Muestra)")

Correlaciones en la muestra

pairs.panels(vars_cuant_muestra)

cor(vars_cuant_muestra)
##                           Matemáticas    Ingles Lectura Crítica  Ciencias
## Matemáticas                 1.0000000 0.9877195       0.9944817 0.9905380
## Ingles                      0.9877195 1.0000000       0.9877194 0.9917210
## Lectura Crítica             0.9944817 0.9877194       1.0000000 0.9920715
## Ciencias                    0.9905380 0.9917210       0.9920715 1.0000000
## Razonamiento Cuantitativo   0.9897753 0.9795799       0.9814413 0.9776333
## Historia                    0.9907219 0.9841111       0.9928549 0.9931112
##                           Razonamiento Cuantitativo  Historia
## Matemáticas                               0.9897753 0.9907219
## Ingles                                    0.9795799 0.9841111
## Lectura Crítica                           0.9814413 0.9928549
## Ciencias                                  0.9776333 0.9931112
## Razonamiento Cuantitativo                 1.0000000 0.9825097
## Historia                                  0.9825097 1.0000000

Comparación General

Tablas de contingencia, proporciones y gráficos bivariados

Tabla cruzada entre Género y Condiciones Socioeconómicas

TablaCruzada <- table(datos$Genero, datos$Condiciones.socioeconomicas)
TablaCruzada
##            
##             Alto Bajo Medio
##   Femenino     8   10    11
##   Masculino    4    9    15

Proporciones por fila (dentro de cada género)

TablaCruzada_propFilas <- prop.table(TablaCruzada, margin = 1)

Proporciones por columna (dentro de cada estrato)

TablaCruzada_propColumnas <- prop.table(TablaCruzada, margin = 2)

Tabla con porcentajes

TablaCruzadaPorcentajes <- addmargins(TablaCruzada * 100)
TablaCruzadaPorcentajes
##            
##             Alto Bajo Medio  Sum
##   Femenino   800 1000  1100 2900
##   Masculino  400  900  1500 2800
##   Sum       1200 1900  2600 5700

Colores personalizados

colores_genero <- c("#A020F0", "#FFBBFF")  # Femenino, Masculino
colores_estrato <- c("salmon", "salmon1", "salmon2", "salmon3", "salmon4", "tan1")

Gráficos de barras por fila (proporción dentro de género)

par(mfrow = c(1, 2))
barplot(TablaCruzada_propFilas, col = colores_genero, beside = TRUE, ylim = c(0, 0.4),
        main = "Proporciones por Género", ylab = "Proporción", xlab = "Estrato")
legend("topright", legend = c("Femenino", "Masculino"), fill = colores_genero)

Diagramas de mosaico

par(mfrow = c(1, 2))
mosaicplot(TablaCruzada, main = "Tabla Cruzada (Frecuencias)",
           col = colores_estrato, cex.axis = 1.2)

mosaicplot(TablaCruzada_propFilas, main = "Proporciones por Género",
           col = colores_genero, cex.axis = 1.2)

# Restablecer configuración gráfica

par(mfrow = c(1, 1))

TABLA CRUZADA: Género vs Curso Preparatorio

Tabla de conteo

TablaPrep <- table(datos$Genero, datos$Curso.Preparatorio)
TablaPrep
##            
##             NO SI
##   Femenino   6 23
##   Masculino 21  7

Proporciones por fila (dentro de cada género)

TablaPrep_propFilas <- prop.table(TablaPrep, margin = 1)
TablaPrep_propFilas
##            
##                    NO        SI
##   Femenino  0.2068966 0.7931034
##   Masculino 0.7500000 0.2500000

Proporciones por columna (dentro de cada categoría de curso preparatorio)

TablaPrep_propColumnas <- prop.table(TablaPrep, margin = 2)
TablaPrep_propColumnas
##            
##                    NO        SI
##   Femenino  0.2222222 0.7666667
##   Masculino 0.7777778 0.2333333

Tabla con porcentajes y totales

TablaPrepPorcentajes <- addmargins(TablaPrep * 100)
TablaPrepPorcentajes
##            
##               NO   SI  Sum
##   Femenino   600 2300 2900
##   Masculino 2100  700 2800
##   Sum       2700 3000 5700

GRAFICOS

Definir colores

coloresGenero <- c("#A020F0", "#FFBBFF") # Femenino, Masculino
coloresCursos <- c("salmon", "salmon1", "salmon2", "salmon3", "salmon4", "tan1")

Gráfico 1: Barras simples (conteos)

par(mfrow = c(1, 2))
barplot(TablaPrep, col = coloresGenero, beside = TRUE,
        main = "Frecuencia: Género vs Curso Preparatorio")
legend("topright", legend = rownames(TablaPrep), fill = coloresGenero)

# Gráfico 2: Barras proporciones por fila

barplot(TablaPrep_propFilas, col = coloresGenero, beside = TRUE,
        main = "Proporción por género (fila)")
legend("topright", legend = rownames(TablaPrep), fill = coloresGenero)

Establecer CRAN y cargar paquetes necesarios

options(repos = c(CRAN = "https://cloud.r-project.org"))
if (!require("car")) install.packages("car")
## Cargando paquete requerido: car
## Cargando paquete requerido: carData
## 
## Adjuntando el paquete: 'car'
## The following object is masked from 'package:dplyr':
## 
##     recode
## The following object is masked from 'package:psych':
## 
##     logit
library(car)

cat("## 4. Pruebas de bondad de ajuste\n")
## ## 4. Pruebas de bondad de ajuste

— Pruebas de normalidad

cat("\n### Shapiro-Wilk para Lectura Crítica\n")
## 
## ### Shapiro-Wilk para Lectura Crítica
cat("H0: Los datos de Lectura Crítica siguen una distribución normal\n")
## H0: Los datos de Lectura Crítica siguen una distribución normal
cat("H1: Los datos no siguen una distribución normal\n")
## H1: Los datos no siguen una distribución normal
print(shapiro.test(datos$`Lectura Crítica`))
## 
##  Shapiro-Wilk normality test
## 
## data:  datos$`Lectura Crítica`
## W = 0.97438, p-value = 0.2663
cat("\n### Shapiro-Wilk para Matemáticas\n")
## 
## ### Shapiro-Wilk para Matemáticas
cat("H0: Los datos de Matemáticas siguen una distribución normal\n")
## H0: Los datos de Matemáticas siguen una distribución normal
cat("H1: Los datos no siguen una distribución normal\n")
## H1: Los datos no siguen una distribución normal
print(shapiro.test(datos$Matemáticas))
## 
##  Shapiro-Wilk normality test
## 
## data:  datos$Matemáticas
## W = 0.97, p-value = 0.1678
cat("\n### Shapiro-Wilk para Historia\n")
## 
## ### Shapiro-Wilk para Historia
cat("H0: Los datos de Historia siguen una distribución normal\n")
## H0: Los datos de Historia siguen una distribución normal
cat("H1: Los datos no siguen una distribución normal\n")
## H1: Los datos no siguen una distribución normal
print(shapiro.test(datos$Historia))
## 
##  Shapiro-Wilk normality test
## 
## data:  datos$Historia
## W = 0.97346, p-value = 0.2421
cat("\nInterpretación: En los tres casos, p > 0.05. No se rechaza H0. Las variables siguen una distribución normal.\n")
## 
## Interpretación: En los tres casos, p > 0.05. No se rechaza H0. Las variables siguen una distribución normal.

Histograma visual

par(mfrow = c(1, 3))
hist(datos$`Lectura Crítica`, main = "Lectura Crítica", col = "skyblue", probability = TRUE)
hist(datos$Matemáticas, main = "Matemáticas", col = "tomato", probability = TRUE)
hist(datos$Historia, main = "Historia", col = "gold", probability = TRUE)

par(mfrow = c(1, 1))

— Chi-cuadrado para variables categóricas

cat("\n\n### Chi-cuadrado para Género (50/50)\n")
## 
## 
## ### Chi-cuadrado para Género (50/50)
cat("H0: Las proporciones de Género son iguales (50%-50%)\n")
## H0: Las proporciones de Género son iguales (50%-50%)
cat("H1: Las proporciones son diferentes\n")
## H1: Las proporciones son diferentes
print(chisq.test(table(datos$Genero), p = c(0.5, 0.5)))
## 
##  Chi-squared test for given probabilities
## 
## data:  table(datos$Genero)
## X-squared = 0.017544, df = 1, p-value = 0.8946
cat("\n### Chi-cuadrado para Curso Preparativo (50/50)\n")
## 
## ### Chi-cuadrado para Curso Preparativo (50/50)
cat("H0: La proporción de estudiantes que toman el curso preparativo es 50%\n")
## H0: La proporción de estudiantes que toman el curso preparativo es 50%
cat("H1: La proporción es diferente\n")
## H1: La proporción es diferente
print(chisq.test(table(datos$`Curso Preparativo`), p = c(0.5, 0.5)))
## 
##  Chi-squared test for given probabilities
## 
## data:  table(datos$`Curso Preparativo`)
## X-squared = 0.15789, df = 1, p-value = 0.6911
cat("\nInterpretación: En Género no se rechaza H0 (proporciones equilibradas). En Curso Preparativo sí se rechaza H0 (distribución no equilibrada).\n")
## 
## Interpretación: En Género no se rechaza H0 (proporciones equilibradas). En Curso Preparativo sí se rechaza H0 (distribución no equilibrada).
cat("\n\n## 5. Pruebas de hipótesis e inferencias\n")
## 
## 
## ## 5. Pruebas de hipótesis e inferencias

1. Una media

cat("\n### 1. ¿La media de Matemáticas es mayor a 65?\n")
## 
## ### 1. ¿La media de Matemáticas es mayor a 65?
cat("H0: μ = 65  |  H1: μ > 65\n")
## H0: μ = 65  |  H1: μ > 65
print(t.test(datos$Matemáticas, mu = 65, alternative = "greater"))
## 
##  One Sample t-test
## 
## data:  datos$Matemáticas
## t = 4.8748, df = 56, p-value = 4.681e-06
## alternative hypothesis: true mean is greater than 65
## 95 percent confidence interval:
##  70.24371      Inf
## sample estimates:
## mean of x 
##  72.98246
cat("Interpretación: Si p < 0.05, se concluye que la media es significativamente mayor a 65.\n")
## Interpretación: Si p < 0.05, se concluye que la media es significativamente mayor a 65.

2. Dos medias

cat("\n### 2. ¿Las mujeres obtienen mejores notas en Lectura Crítica?\n")
## 
## ### 2. ¿Las mujeres obtienen mejores notas en Lectura Crítica?
cat("H0: μ_Mujeres = μ_Hombres  |  H1: μ_Mujeres > μ_Hombres\n")
## H0: μ_Mujeres = μ_Hombres  |  H1: μ_Mujeres > μ_Hombres
print(t.test(`Lectura Crítica` ~ Genero, data = datos))
## 
##  Welch Two Sample t-test
## 
## data:  Lectura Crítica by Genero
## t = 3.6318, df = 54.065, p-value = 0.0006264
## alternative hypothesis: true difference in means between group Femenino and group Masculino is not equal to 0
## 95 percent confidence interval:
##   4.696066 16.269451
## sample estimates:
##  mean in group Femenino mean in group Masculino 
##                74.48276                64.00000
cat("Interpretación: Si p < 0.05, se concluye que las mujeres obtienen mejores puntajes en Lectura Crítica.\n")
## Interpretación: Si p < 0.05, se concluye que las mujeres obtienen mejores puntajes en Lectura Crítica.

3. Dos varianzas

cat("\n### 3. ¿La varianza en Historia es diferente entre jornada diurna y nocturna?\n")
## 
## ### 3. ¿La varianza en Historia es diferente entre jornada diurna y nocturna?
cat("H0: σ²_Diurna = σ²_Nocturna  |  H1: σ² diferentes\n")
## H0: σ²_Diurna = σ²_Nocturna  |  H1: σ² diferentes
print(leveneTest(datos$Historia ~ datos$Jornada))
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  1  2.4444 0.1237
##       55
cat("Interpretación: Si p > 0.05, no se rechaza H0. Las varianzas son estadísticamente iguales.\n")
## Interpretación: Si p > 0.05, no se rechaza H0. Las varianzas son estadísticamente iguales.

4. Dos proporciones

cat("\n### 4. ¿Mayor proporción de mujeres toma el curso preparativo?\n")
## 
## ### 4. ¿Mayor proporción de mujeres toma el curso preparativo?
cat("H0: p_Mujeres = p_Hombres  |  H1: p_Mujeres ≠ p_Hombres\n")
## H0: p_Mujeres = p_Hombres  |  H1: p_Mujeres ≠ p_Hombres
tabla_curso <- table(datos$Genero, datos$`Curso Preparativo`)
print(prop.test(x = tabla_curso[, "SI"], n = rowSums(tabla_curso)))
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  tabla_curso[, "SI"] out of rowSums(tabla_curso)
## X-squared = 14.746, df = 1, p-value = 0.000123
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  0.2901514 0.7960554
## sample estimates:
##    prop 1    prop 2 
## 0.7931034 0.2500000
cat("Interpretación: Si p < 0.05, se concluye que hay diferencia significativa en proporciones.\n")
## Interpretación: Si p < 0.05, se concluye que hay diferencia significativa en proporciones.

5. Datos pareados

cat("\n### 5. ¿Los estudiantes obtienen mejores resultados en Razonamiento Cuantitativo que en Ciencias?\n")
## 
## ### 5. ¿Los estudiantes obtienen mejores resultados en Razonamiento Cuantitativo que en Ciencias?
cat("H0: μ_dif = 0  |  H1: μ_dif ≠ 0\n")
## H0: μ_dif = 0  |  H1: μ_dif ≠ 0
print(t.test(datos$`Razonamiento Cuantitativo`, datos$Ciencias, paired = TRUE))
## 
##  Paired t-test
## 
## data:  datos$`Razonamiento Cuantitativo` and datos$Ciencias
## t = 6.5822, df = 56, p-value = 1.692e-08
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
##  1.757455 3.295177
## sample estimates:
## mean difference 
##        2.526316
cat("Interpretación: Si p < 0.05, hay diferencia significativa entre ambas materias.\n")
## Interpretación: Si p < 0.05, hay diferencia significativa entre ambas materias.
cat("\n\n## Pruebas adicionales sugeridas\n")
## 
## 
## ## Pruebas adicionales sugeridas

6. Curso preparativo mejora Matemáticas

cat("\n### 6. ¿El curso preparativo mejora el rendimiento en Matemáticas?\n")
## 
## ### 6. ¿El curso preparativo mejora el rendimiento en Matemáticas?
cat("H0: μ_SI = μ_NO  |  H1: μ_SI ≠ μ_NO\n")
## H0: μ_SI = μ_NO  |  H1: μ_SI ≠ μ_NO
print(t.test(Matemáticas ~ `Curso Preparativo`, data = datos))
## 
##  Welch Two Sample t-test
## 
## data:  Matemáticas by Curso Preparativo
## t = -6.1086, df = 44.187, p-value = 2.301e-07
## alternative hypothesis: true difference in means between group NO and group SI is not equal to 0
## 95 percent confidence interval:
##  -21.01216 -10.58784
## sample estimates:
## mean in group NO mean in group SI 
##         64.66667         80.46667

7. ANOVA para Ciencias según estrato

cat("\n### 7. ¿Existen diferencias en Ciencias entre estratos socioeconómicos?\n")
## 
## ### 7. ¿Existen diferencias en Ciencias entre estratos socioeconómicos?
cat("H0: μ_bajo = μ_medio = μ_alto  |  H1: al menos uno difiere\n")
## H0: μ_bajo = μ_medio = μ_alto  |  H1: al menos uno difiere
anova_ciencias <- aov(Ciencias ~ `Condiciones socioeconomicas`, data = datos)
print(summary(anova_ciencias))
##                               Df Sum Sq Mean Sq F value   Pr(>F)    
## `Condiciones socioeconomicas`  2   5324  2662.0   59.85 1.99e-14 ***
## Residuals                     54   2402    44.5                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

8. Correlación Inglés y Lectura Crítica

cat("\n### 8. ¿Existe correlación entre Inglés y Lectura Crítica?\n")
## 
## ### 8. ¿Existe correlación entre Inglés y Lectura Crítica?
cat("H0: ρ = 0  |  H1: ρ ≠ 0\n")
## H0: ρ = 0  |  H1: ρ ≠ 0
print(cor.test(datos$Ingles, datos$`Lectura Crítica`))
## 
##  Pearson's product-moment correlation
## 
## data:  datos$Ingles and datos$`Lectura Crítica`
## t = 50.201, df = 55, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.9817651 0.9936879
## sample estimates:
##       cor 
## 0.9892632

9. Varianzas entre géneros en Razonamiento

cat("\n### 9. ¿Las varianzas de Razonamiento Cuantitativo difieren entre géneros?\n")
## 
## ### 9. ¿Las varianzas de Razonamiento Cuantitativo difieren entre géneros?
cat("H0: σ²_H = σ²_M  |  H1: σ² diferentes\n")
## H0: σ²_H = σ²_M  |  H1: σ² diferentes
print(leveneTest(`Razonamiento Cuantitativo` ~ Genero, data = datos))
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  1  0.5697 0.4536
##       55

10. Asociación jornada vs curso preparativo

cat("\n### 10. ¿La jornada influye en la participación en el curso preparativo?\n")
## 
## ### 10. ¿La jornada influye en la participación en el curso preparativo?
cat("H0: Variables independientes  |  H1: Variables asociadas\n")
## H0: Variables independientes  |  H1: Variables asociadas
tabla_jornada_curso <- table(datos$Jornada, datos$`Curso Preparativo`)
print(chisq.test(tabla_jornada_curso))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  tabla_jornada_curso
## X-squared = 2.0189, df = 1, p-value = 0.1553

11. Lectura Crítica vs Historia (pareado)

cat("\n### 11. ¿Existen diferencias entre Lectura Crítica e Historia?\n")
## 
## ### 11. ¿Existen diferencias entre Lectura Crítica e Historia?
cat("H0: μ_dif = 0  |  H1: μ_dif ≠ 0\n")
## H0: μ_dif = 0  |  H1: μ_dif ≠ 0
print(t.test(datos$`Lectura Crítica`, datos$Historia, paired = TRUE))
## 
##  Paired t-test
## 
## data:  datos$`Lectura Crítica` and datos$Historia
## t = 6.4009, df = 56, p-value = 3.361e-08
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
##  0.8196267 1.5663382
## sample estimates:
## mean difference 
##        1.192982

12. Regresión múltiple para Matemáticas

cat("\n### 12. Modelo de regresión para predecir el rendimiento en Matemáticas\n")
## 
## ### 12. Modelo de regresión para predecir el rendimiento en Matemáticas
modelo <- lm(Matemáticas ~ `Curso Preparativo` + Genero + Jornada + 
                           `Condiciones socioeconomicas` + `Razonamiento Cuantitativo`, 
             data = datos)
print(summary(modelo))
## 
## Call:
## lm(formula = Matemáticas ~ `Curso Preparativo` + Genero + Jornada + 
##     `Condiciones socioeconomicas` + `Razonamiento Cuantitativo`, 
##     data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.8063 -0.9372  0.0299  0.9222  3.5190 
## 
## Coefficients:
##                                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                        15.86481    4.44406   3.570 0.000800 ***
## `Curso Preparativo`SI               0.75710    0.81949   0.924 0.359989    
## GeneroMasculino                    -0.49654    0.49926  -0.995 0.324741    
## JornadaNocturna                    -1.45258    0.49895  -2.911 0.005364 ** 
## `Condiciones socioeconomicas`Bajo  -4.85787    1.25942  -3.857 0.000329 ***
## `Condiciones socioeconomicas`Medio -2.01271    0.92676  -2.172 0.034643 *  
## `Razonamiento Cuantitativo`         0.81152    0.05304  15.299  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.451 on 50 degrees of freedom
## Multiple R-squared:  0.9877, Adjusted R-squared:  0.9862 
## F-statistic: 669.1 on 6 and 50 DF,  p-value: < 2.2e-16
cat("Interpretación: Se observa qué variables explican mejor el rendimiento en Matemáticas.\n")
## Interpretación: Se observa qué variables explican mejor el rendimiento en Matemáticas.

Establecer repositorio CRAN si hace falta

options(repos = c(CRAN = "https://cloud.r-project.org"))

# --- PRUEBAS DE NORMALIDAD CON SHAPIRO-WILK ---
cat("## Pruebas de Normalidad (Shapiro-Wilk)\n")
## ## Pruebas de Normalidad (Shapiro-Wilk)

Matemáticas

cat("\n### a) Matemáticas\n")
## 
## ### a) Matemáticas
cat("H₀: Los datos de Matemáticas siguen una distribución normal\n")
## H₀: Los datos de Matemáticas siguen una distribución normal
cat("H₁: Los datos no siguen una distribución normal\n")
## H₁: Los datos no siguen una distribución normal
res_mat <- shapiro.test(datos$Matemáticas)
print(res_mat)
## 
##  Shapiro-Wilk normality test
## 
## data:  datos$Matemáticas
## W = 0.97, p-value = 0.1678
if (res_mat$p.value > 0.05) {
  cat("Interpretación: No se rechaza H₀ (p =", round(res_mat$p.value, 4), "). Los datos se ajustan a una distribución normal.\n")
} else {
  cat("Interpretación: Se rechaza H₀ (p =", round(res_mat$p.value, 4), "). Los datos NO siguen una distribución normal.\n")
}
## Interpretación: No se rechaza H₀ (p = 0.1678 ). Los datos se ajustan a una distribución normal.

Inglés

cat("\n### b) Inglés\n")
## 
## ### b) Inglés
cat("H₀: Los datos de Inglés siguen una distribución normal\n")
## H₀: Los datos de Inglés siguen una distribución normal
cat("H₁: Los datos no siguen una distribución normal\n")
## H₁: Los datos no siguen una distribución normal
res_ing <- shapiro.test(datos$Ingles)
print(res_ing)
## 
##  Shapiro-Wilk normality test
## 
## data:  datos$Ingles
## W = 0.97122, p-value = 0.1911
if (res_ing$p.value > 0.05) {
  cat("Interpretación: No se rechaza H₀ (p =", round(res_ing$p.value, 4), "). Los datos se ajustan a una distribución normal.\n")
} else {
  cat("Interpretación: Se rechaza H₀ (p =", round(res_ing$p.value, 4), "). Los datos NO siguen una distribución normal.\n")
}
## Interpretación: No se rechaza H₀ (p = 0.1911 ). Los datos se ajustan a una distribución normal.

Lectura Crítica

cat("\n### c) Lectura Crítica\n")
## 
## ### c) Lectura Crítica
cat("H₀: Los datos de Lectura Crítica siguen una distribución normal\n")
## H₀: Los datos de Lectura Crítica siguen una distribución normal
cat("H₁: Los datos no siguen una distribución normal\n")
## H₁: Los datos no siguen una distribución normal
res_lect <- shapiro.test(datos$`Lectura Crítica`)
print(res_lect)
## 
##  Shapiro-Wilk normality test
## 
## data:  datos$`Lectura Crítica`
## W = 0.97438, p-value = 0.2663
if (res_lect$p.value > 0.05) {
  cat("Interpretación: No se rechaza H₀ (p =", round(res_lect$p.value, 4), "). Los datos se ajustan a una distribución normal.\n")
} else {
  cat("Interpretación: Se rechaza H₀ (p =", round(res_lect$p.value, 4), "). Los datos NO siguen una distribución normal.\n")
}
## Interpretación: No se rechaza H₀ (p = 0.2663 ). Los datos se ajustan a una distribución normal.

— PRUEBAS CHI-CUADRADO PARA VARIABLES CATEGÓRICAS —

cat("\n\n## Pruebas de Bondad de Ajuste para Variables Categóricas (Chi-cuadrado)\n")
## 
## 
## ## Pruebas de Bondad de Ajuste para Variables Categóricas (Chi-cuadrado)

Género (Binomial esperada: 50% - 50%)

cat("\n### a) Género\n")
## 
## ### a) Género
cat("H₀: La proporción de Género es igual (50%-50%)\n")
## H₀: La proporción de Género es igual (50%-50%)
cat("H₁: La proporción es diferente a 50%-50%\n")
## H₁: La proporción es diferente a 50%-50%
tabla_genero <- table(datos$Genero)
chisq_genero <- chisq.test(tabla_genero, p = c(0.5, 0.5))
print(chisq_genero)
## 
##  Chi-squared test for given probabilities
## 
## data:  tabla_genero
## X-squared = 0.017544, df = 1, p-value = 0.8946
if (chisq_genero$p.value > 0.05) {
  cat("Interpretación: No se rechaza H₀ (p =", round(chisq_genero$p.value, 4), "). La proporción observada (", paste(names(tabla_genero), tabla_genero, collapse = ", "), ") coincide con la esperada (50%-50%).\n")
} else {
  cat("Interpretación: Se rechaza H₀ (p =", round(chisq_genero$p.value, 4), "). La distribución observada no coincide con una distribución uniforme.\n")
}
## Interpretación: No se rechaza H₀ (p = 0.8946 ). La proporción observada ( Femenino 29, Masculino 28 ) coincide con la esperada (50%-50%).

Jornada (Binomial esperada: 50%-50%)

cat("\n### b) Jornada Académica\n")
## 
## ### b) Jornada Académica
cat("H₀: La proporción de Jornada Diurna y Nocturna es igual (50%-50%)\n")
## H₀: La proporción de Jornada Diurna y Nocturna es igual (50%-50%)
cat("H₁: La proporción es diferente a 50%-50%\n")
## H₁: La proporción es diferente a 50%-50%
tabla_jornada <- table(datos$Jornada)
chisq_jornada <- chisq.test(tabla_jornada, p = c(0.5, 0.5))
print(chisq_jornada)
## 
##  Chi-squared test for given probabilities
## 
## data:  tabla_jornada
## X-squared = 0.85965, df = 1, p-value = 0.3538
if (chisq_jornada$p.value > 0.05) {
  cat("Interpretación: No se rechaza H₀ (p =", round(chisq_jornada$p.value, 4), "). La distribución de jornada coincide con la esperada (50%-50%).\n")
} else {
  cat("Interpretación: Se rechaza H₀ (p =", round(chisq_jornada$p.value, 4), "). La distribución observada no coincide con la esperada.\n")
}
## Interpretación: No se rechaza H₀ (p = 0.3538 ). La distribución de jornada coincide con la esperada (50%-50%).

Conclusiones Finales

  • Las variables numéricas analizadas (Lectura Crítica, Matemáticas, Historia) mostraron un comportamiento consistente con la normalidad, lo cual permite aplicar inferencias paramétricas confiables.

  • Las distribuciones categóricas, como Curso Preparativo, mostraron diferencias respecto a proporciones teóricas, indicando una desigualdad de participación que puede estar influenciada por género o jornada.

  • Se encontraron diferencias significativas en:

    • Rendimiento en Lectura Crítica, a favor de las mujeres.
    • Resultados en Matemáticas, mayores entre quienes tomaron el curso preparativo.
    • Ciencias, con desigualdad según el estrato socioeconómico.
    • Proporción de mujeres que acceden a reforzamiento académico.
  • Las materias más relacionadas estadísticamente fueron:

    • Inglés y Lectura Crítica, por su componente lingüístico común.
    • Razonamiento Cuantitativo y Matemáticas, lo que refleja habilidades matemáticas compartidas.
  • El modelo de regresión múltiple confirmó que variables como curso preparativo, estrato y razonamiento cuantitativo predicen significativamente el rendimiento en Matemáticas.

  • Se evidenció que la muestra aleatoria representa adecuadamente las características de la población completa, validando su uso para análisis exploratorios más eficientes.

  • Las herramientas estadísticas aplicadas permiten identificar patrones relevantes para la toma de decisiones académicas y proponer estrategias de equidad educativa y mejora del acceso a la educación superior.