1 LABORATORIO 7: ANÁLISIS DESCRIPTIVO

1.1 Semana 7 - Estadística Descriptiva

🎯 Objetivo: Realizar un análisis exploratorio completo de la base de datos DATOS2026 usando tablas de frecuencias, gráficos y estadísticos descriptivos.

👤 Estudiante: Juan Sebastián Merlano Mendoza
📅 Fecha: 01 de October de 2026


1.2 1️⃣ Importación de Datos

kable(DATOS2026,
      caption = "Base de datos DATOS2026 - Juan Sebastián Merlano Mendoza") |>
  kable_styling(bootstrap_options = c("striped", "hover"),
                full_width = FALSE,
                position = "center") |>
  row_spec(0, bold = TRUE, color = "white", background = "#3F3F8C")
Base de datos DATOS2026 - Juan Sebastián Merlano Mendoza
CURSO ASISTENCIA2 ASISTENCIA1 PARCIAL 1 PARCIAL 2 NRC PROGRAMA EDAD PESO ESTATURA SEXO ESTADO_CIVIL ESTRATO URBANO TRANSPORTE GR_SANGUINEO
PROBABILIDAD 100 90 3.6 4.3 2314 F_NEGOCIOS 20 55 160 Femenino SOLTERO (A) II Cartagena Transcaribe O+
ESTADISTICAI 70 75 0.9 2.5 1136 DERECHO 18 80 185 Masculino SOLTERO (A) III Cartegena El bus que me deja mas cerca A+
PROBABILIDAD 85 95 3.9 3.8 2314 F_NEGOCIOS 19 60 158 Femenino SOLTERO (A) III Cartagena Transcaribe O+
PROBABILIDAD 5 5 2.9 0.5 2314 MECANICA 18 72 181 Masculino SOLTERO (A) V Bolivar Particular O+
ESTADISTICAI 20 70 3.7 0.55 1009 PSICOLOGÍA 19 45 163 Femenino SOLTERO (A) II Cartagena Mototaxi O+
ESTADISTICAI 100 100 0.9 2.95 2313 PSICOLOGÍA 20 64 169 Femenino SOLTERO (A) I Cartagena de Indias Transcaribe O+
PROBABILIDAD 50 75 3.7 1.7 1010 C_DATOS 18 50 157 Masculino SOLTERO (A) IV Cartagena Transcaribe A+
PROBABILIDAD 100 95 3 3.3 2314 F_NEGOCIOS 19 50 155 Femenino SOLTERO (A) III Cartagena de Indias Mototaxi A+
ESTADISTICAI 100 100 3.8 3.3 1009 PSICOLOGÍA 18 65 161 Femenino SOLTERO (A) III Bolívar Mototaxi O+
PROBABILIDAD 95 85 3 2.9 2314 SISTEMAS 22 60 161 Masculino SOLTERO (A) I pontezuela El bus que me deja mas cerca A+
ESTADISTICAI 100 100 2 3.3 1136 DERECHO 18 69 174 Masculino SOLTERO (A) I Cartagena Transcaribe O+
PROBABILIDAD 100 85 4.6 3.65 1137 BIOMEDICA 19 54 164 Femenino SOLTERO (A) II Cartagena de Indias Transcaribe O+
PROBABILIDAD 80 95 3.4 3.25 2314 INDUSTRIAL 17 60 153 Femenino SOLTERO (A) II Cartagena Transcaribe O+
PROBABILIDAD 90 90 4 3.8 1010 C_DATOS 17 71 170 Masculino SOLTERO (A) I Cartagena Transcaribe O+
PROBABILIDAD 100 90 3.6 4 2314 SISTEMAS 19 52 174 Masculino SOLTERO (A) IV Cartagena Transcaribe O+
ESTADISTICAI 70 85 1.4 2.6 1136 DERECHO 20 78 170 Masculino SOLTERO (A) IV CARTAGENA Taxi O+
PROBABILIDAD 90 95 4.2 4.15 2314 SISTEMAS 20 67 160 Masculino SOLTERO (A) III Cartagena Transcaribe B+
PROBABILIDAD 80 75 2.3 2.35 2314 ECONOMIA 19 65 172 Masculino SOLTERO (A) NA cartagena Mototaxi O+
PROBABILIDAD 85 95 4.4 4.6 2314 SISTEMAS 19 49 158 Femenino SOLTERO (A) I Cartagena Transcaribe O+
PROBABILIDAD 90 100 2.2 2.65 1010 F_NEGOCIOS 21 69 180 Masculino SOLTERO (A) V Cartagena Taxi O+
PROBABILIDAD 100 100 3.5 3.85 1010 MECATRONICA 18 77 175 Masculino SOLTERO (A) II Cartagena Transcaribe O+
PROBABILIDAD 100 95 2 4.35 2314 SISTEMAS 19 75 173 Masculino SOLTERO (A) I Cartagena Transcaribe O-
PROBABILIDAD 100 95 1.6 2.9 2314 SISTEMAS 19 59 166 Masculino SOLTERO (A) II Turbaco El bus que me deja mas cerca O+
PROBABILIDAD 100 95 3.9 4.25 2314 SISTEMAS 19 102 179 Masculino SOLTERO (A) II Turbaco El bus que me deja mas cerca O+
PROBABILIDAD 100 100 4.4 4.65 1010 MECANICA 18 70 178 Masculino SOLTERO (A) III cartagena Mototaxi O+
ESTADISTICAI 85 75 2.5 3.1 2313 PSICOLOGÍA 19 82 175 Masculino SOLTERO (A) II Bolivar Transcaribe A+
PROBABILIDAD 90 90 3 3.75 2314 SISTEMAS 20 88 175 Masculino SOLTERO (A) III Cartagena Transcaribe A+
ESTADISTICAI 100 100 3.6 3.65 2313 PSICOLOGÍA 17 67 169 Masculino SOLTERO (A) II Bolívar Mototaxi A+
PROBABILIDAD 90 65 3.2 1.8 1010 F_NEGOCIOS 22 73 180 Masculino SOLTERO (A) CON HIJOS IV Cartagena Mototaxi B+
PROBABILIDAD 100 85 4.2 4.1 1010 SISTEMAS 18 65 170 Masculino SOLTERO (A) I Bolivar Transcaribe B+
PROBABILIDAD 100 90 1.9 3.3 2314 F_NEGOCIOS 19 48 166 Femenino SOLTERO (A) III Turbaco Particular O+
ESTADISTICAI 80 60 2 2.9 1136 DERECHO 18 55 160 Femenino SOLTERO (A) IV Parque Heredia Taxi O+
PROBABILIDAD 100 95 4.8 3.7 1010 MECATRONICA 18 70 175 Masculino SOLTERO (A) I Zaragocilla El bus que me deja mas cerca A+
ESTADISTICAI 100 85 2.6 3 1136 PSICOLOGÍA 17 50 165 Masculino SOLTERO (A) III cartagena Transcaribe O+
PROBABILIDAD 100 80 2.7 3.75 2314 NAVAL 17 80 192 Masculino SOLTERO (A) II cartagena de indias , bolivar Particular O+
ESTADISTICAI 70 75 2.5 3.05 1136 DERECHO 18 62 164 Femenino SOLTERO (A) II Cartagena Transcaribe O+
ESTADISTICAI 100 65 1.8 2.25 1009 C_SOCIAL 21 62 167 Femenino SOLTERO (A) III Cartagena Transcaribe B+
ESTADISTICAI 90 100 3.3 2.95 1136 DERECHO 18 53 154 Femenino SOLTERO (A) III Cartagena de indias Mototaxi A+
PROBABILIDAD 90 90 1.8 3.7 2314 QUIMICA 18 55 167 Femenino SOLTERO (A) I El Carmen de Bolívar Mototaxi A+
PROBABILIDAD 90 75 3.5 3.75 1010 F_NEGOCIOS 18 67 173 Femenino SOLTERO (A) IV Cartagena Transcaribe B+
ESTADISTICAI 100 80 1 3.1 2313 PSICOLOGÍA 18 42 155 Femenino SOLTERO (A) I Barranco de loba Transcaribe A+
PROBABILIDAD 100 85 3.1 3.65 1010 F_NEGOCIOS 19 48 166 Femenino SOLTERO (A) II Cartagena Transcaribe O+
PROBABILIDAD 90 95 3.3 3.35 1010 F_NEGOCIOS 18 56 160 Femenino SOLTERO (A) V Cartagena Particular B+
PROBABILIDAD 70 75 2.8 3 1010 C_DATOS 17 70 163 Femenino SOLTERO (A) II Cartagena Mototaxi O+
ESTADISTICAI 80 85 2.9 3.1 1009 PSICOLOGÍA 18 65 174 Masculino CASADO (A) IV Bolivar Transcaribe O+
PROBABILIDAD 55 80 2.3 0.55 2314 F_NEGOCIOS 19 76 168 Femenino SOLTERO (A) I Pontezuela El bus que me deja mas cerca O+
PROBABILIDAD 90 100 3 3.3 1010 F_NEGOCIOS 18 50 158 Femenino SOLTERO (A) III Cartagena Taxi A+
PROBABILIDAD 90 100 2.6 2.85 1137 ELECTRICA 21 50 155 Femenino SOLTERO (A) II Turbaco/Bolivar El bus que me deja mas cerca A+
PROBABILIDAD 100 100 2.8 2.45 1137 BIOMEDICA 18 62 168 Femenino SOLTERO (A) III Bolívar Taxi O+
PROBABILIDAD 100 100 4 3.15 1010 INDUSTRIAL 19 58 164 Femenino SOLTERO (A) V Cartagena (barrio: pie de la popa) Transcaribe O+
ESTADISTICAI 90 85 1.5 3.45 1009 C_SOCIAL 18 50 178 Masculino SOLTERO (A) III Bolívar Transcaribe O+
ESTADISTICAI 90 90 2.4 3.3 1009 PSICOLOGÍA 21 65 164 Femenino SOLTERO (A) II Boquilla Transcaribe O+
ESTADISTICAI 100 100 2.9 3.1 1009 C_SOCIAL 18 57 164 Femenino SOLTERO (A) III San José de los campanos Particular O+
PROBABILIDAD 100 90 1.3 3.15 2314 INDUSTRIAL 19 53 175 Femenino SOLTERO (A) II bolivar Mototaxi O+
ESTADISTICAI 70 75 2.7 2.2 1136 DERECHO 17 78 180 Masculino SOLTERO (A) III Cartagena Transcaribe O+
PROBABILIDAD 100 100 4.2 3.85 1010 MECANICA 18 80 187 Masculino SOLTERO (A) II Cartagena Mototaxi O-
PROBABILIDAD 100 95 4.9 4.1 2314 SISTEMAS 19 64 172 Masculino SOLTERO (A) III Cartagena Transcaribe B+
PROBABILIDAD 100 100 4 4.4 1010 INDUSTRIAL 18 60 177 Femenino SOLTERO (A) II Turbaco Particular O+
ESTADISTICAI 100 80 1.6 3.3 1009 C_SOCIAL 19 72 169 Femenino SOLTERO (A) II Turbaco Particular A+
ESTADISTICAI 80 85 2.8 2.55 1136 DERECHO 18 60 159 Femenino SOLTERO (A) II Cartagena Transcaribe A+
PROBABILIDAD 75 75 3.3 2.5 2314 CIVIL 18 55 165 Masculino SOLTERO (A) II Cartagena Transcaribe O+
ESTADISTICAI 60 90 1.9 0.6 1009 C_SOCIAL 20 90 186 Masculino SOLTERO (A) IV Bolibar Cartagena Transcaribe O+
PROBABILIDAD 100 65 2.6 3.15 1137 MECANICA 18 63 170 Masculino SOLTERO (A) I Cartagena Transcaribe A+
PROBABILIDAD 90 45 4 3.4 1010 F_NEGOCIOS 18 61 163 Femenino SOLTERO (A) V Cartagena Particular A+
PROBABILIDAD 85 95 2.3 2.8 2314 F_NEGOCIOS 18 70 172 Femenino SOLTERO (A) II Arjona El bus que me deja mas cerca O+
ESTADISTICAI 90 90 2 3.1 1136 DERECHO 19 48 167 Femenino SOLTERO (A) IV Cartagena Particular O+
PROBABILIDAD 100 90 3.1 3.25 1010 F_NEGOCIOS 19 57 154 Femenino SOLTERO (A) II Bolivar Transcaribe O+
PROBABILIDAD 100 95 1.5 2.95 1137 CONTADURIA 18 60 170 Femenino SOLTERO (A) II Turbaco El bus que me deja mas cerca O+
PROBABILIDAD 90 100 1.3 3.5 1010 ELECTRICA 22 70 163 Femenino SOLTERO (A) I Turbaco Mototaxi O+
PROBABILIDAD 90 90 2.3 2.1 2314 F_NEGOCIOS 18 59 176 Femenino SOLTERO (A) IV Bolivar Transcaribe B+
PROBABILIDAD 85 95 2 3.1 2314 F_NEGOCIOS 18 60 171 Femenino SOLTERO (A) II Cartagena Transcaribe O+
ESTADISTICAI 65 75 1.7 2.95 1136 DERECHO 20 55 164 Femenino SOLTERO (A) III Cartagena Mototaxi A+
ESTADISTICAI 100 100 2.3 3.2 2313 PSICOLOGÍA 19 67 171 Femenino SOLTERO (A) I El rodeo Mototaxi A+
ESTADISTICAI 100 100 3.8 3.1 1136 DERECHO 18 60 165 Femenino SOLTERO (A) I Villa de la cruz El bus que me deja mas cerca A+

La base de datos contiene información de 74 estudiantes con variables demográficas y antropométricas.


1.3 2️⃣ Análisis Univariado: Variable SEXO

1.3.1 Tabla de Frecuencias Absolutas

table_sexo <- table(DATOS2026$SEXO)
table_sexo

 Femenino Masculino 
       42        32 

1.3.2 Gráfico de Pastel

porc <- round(prop.table(table_sexo) * 100, 1)
etiquetas <- paste0(names(table_sexo), "\n", table_sexo, " (", porc, "%)")

pie(table_sexo,
    col = colores,
    labels = etiquetas,
    border = "white",
    lwd = 3,
    radius = 0.95,
    cex = 1.2,
    main = "Distribución por Sexo\nJuan Sebastián Merlano Mendoza",
    col.main = "#3F3F8C")

1.3.3 Tabla Porcentual

table_sexo2 <- round(table(DATOS2026$SEXO) / nrow(DATOS2026) * 100)
kable(data.frame(Sexo = names(table_sexo2), Porcentaje = paste0(table_sexo2, "%")),
      caption = "Distribución Porcentual") |>
  kable_styling(bootstrap_options = c("striped", "hover"), position = "center")
Distribución Porcentual
Sexo Porcentaje
Femenino 57%
Masculino 43%

1.3.4 Gráfico de Barras - Frecuencias Absolutas

barp <- barplot(table_sexo,
                col = colores,
                border = "white",
                lwd = 2,
                main = "Gráfico de Barras: Distribución por Sexo\nJuan Sebastián Merlano Mendoza",
                xlab = "SEXO",
                ylab = "Frecuencia",
                ylim = c(0, max(table_sexo) * 1.2),
                las = 1)

text(barp, table_sexo, labels = table_sexo, pos = 3, cex = 1.3, font = 2, col = "#3F3F8C")

1.3.5 Gráfico de Barras - Frecuencias Porcentuales

barp2 <- barplot(table_sexo2,
                 col = colores,
                 border = "white",
                 lwd = 2,
                 main = "Gráfico de Barras: Porcentajes por Sexo\nJuan Sebastián Merlano Mendoza",
                 xlab = "SEXO",
                 ylab = "Porcentaje (%)",
                 ylim = c(0, max(table_sexo2) * 1.2),
                 las = 1)

text(barp2, table_sexo2, labels = paste0(table_sexo2, "%"), pos = 3, cex = 1.3, font = 2, col = "#3F3F8C")


1.4 3️⃣ Análisis Bivariado: SEXO vs CURSO

1.4.1 Tabla de Contingencia

table_3 <- table(DATOS2026$SEXO, DATOS2026$CURSO)
kable(table_3, caption = "SEXO × CURSO") |>
  kable_styling(bootstrap_options = c("striped", "hover"), position = "center") |>
  row_spec(0, bold = TRUE, background = "#3F3F8C", color = "white")
SEXO × CURSO
ESTADISTICAI PROBABILIDAD
Femenino 16 26
Masculino 10 22

1.4.2 Gráfico de Barras Agrupadas

barp3 <- barplot(table_3, beside = TRUE,
                 col = colores, 
                 border = "white",
                 lwd = 2,
                 main = "SEXO vs CURSO - Juan Sebastián Merlano Mendoza",
                 xlab = "CURSO", 
                 ylab = "Frecuencia",
                 ylim = c(0, max(table_3) * 1.25), 
                 las = 1,
                 legend.text = rownames(table_3),
                 args.legend = list(x = "topright", bty = "n"))

text(barp3, table_3, labels = table_3, pos = 3, cex = 1.1, font = 2)


1.5 4️⃣ Análisis Bivariado: ESTRATO vs CURSO

1.5.1 Tabla de Contingencia

table_5 <- table(DATOS2026$ESTRATO, DATOS2026$CURSO)
kable(table_5, caption = "ESTRATO × CURSO") |>
  kable_styling(bootstrap_options = c("striped", "hover"), position = "center") |>
  row_spec(0, bold = TRUE, background = "#3F3F8C", color = "white")
ESTRATO × CURSO
ESTADISTICAI PROBABILIDAD
I 5 10
II 7 18
III 9 9
IV 5 5
V 0 5

1.5.2 Gráfico de Barras Agrupadas

barp5 <- barplot(table_5, beside = TRUE,
                 col = colores_estrato, 
                 border = "white",
                 lwd = 2,
                 main = "ESTRATO vs CURSO - Juan Sebastián Merlano Mendoza",
                 xlab = "CURSO", 
                 ylab = "Frecuencia",
                 ylim = c(0, max(table_5) * 1.25), 
                 las = 1,
                 legend.text = rownames(table_5),
                 args.legend = list(x = "topright", bty = "n", title = "ESTRATO"))

text(barp5, table_5, labels = table_5, pos = 3, cex = 0.9, font = 2)


1.6 5️⃣ Análisis Bivariado: ESTRATO vs SEXO

1.6.1 Tabla de Contingencia

table_6 <- table(DATOS2026$ESTRATO, DATOS2026$SEXO)
kable(table_6, caption = "ESTRATO × SEXO") |>
  kable_styling(bootstrap_options = c("striped", "hover"), position = "center") |>
  row_spec(0, bold = TRUE, background = "#3F3F8C", color = "white")
ESTRATO × SEXO
Femenino Masculino
I 8 7
II 17 8
III 10 8
IV 4 6
V 3 2

1.6.2 Gráfico de Barras Agrupadas

barp6 <- barplot(table_6, beside = TRUE,
                 col = colores_estrato, 
                 border = "white",
                 lwd = 2,
                 main = "ESTRATO vs SEXO - Juan Sebastián Merlano Mendoza",
                 xlab = "SEXO", 
                 ylab = "Frecuencia",
                 ylim = c(0, max(table_6) * 1.25), 
                 las = 1,
                 legend.text = rownames(table_6),
                 args.legend = list(x = "topright", bty = "n", title = "ESTRATO"))

text(barp6, table_6, labels = table_6, pos = 3, cex = 0.9, font = 2)


1.7 6️⃣ Análisis Variable EDAD

1.7.1 Resumen Estadístico

summary(DATOS2026$EDAD)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   17.0    18.0    18.0    18.7    19.0    22.0 

1.7.2 Diagrama de Caja

boxplot(DATOS2026$EDAD, horizontal = TRUE, 
        col = "#7B68EE", border = "#3F3F8C", lwd = 2,
        main = "Diagrama de Caja: EDAD - Juan Sebastián Merlano Mendoza", 
        xlab = "EDAD", boxwex = 0.5)

1.7.3 EDAD vs SEXO

boxplot(EDAD ~ SEXO, data = DATOS2026, horizontal = TRUE,
        col = colores, border = "#3F3F8C", lwd = 2,
        main = "EDAD vs SEXO - Juan Sebastián Merlano Mendoza", 
        xlab = "EDAD", las = 1)

1.7.4 EDAD vs ESTRATO

n_est <- length(unique(DATOS2026$ESTRATO))
boxplot(EDAD ~ ESTRATO, data = DATOS2026, horizontal = TRUE,
        col = colores_estrato, border = "#3F3F8C", lwd = 2,
        main = "EDAD vs ESTRATO - Juan Sebastián Merlano Mendoza", 
        xlab = "EDAD", ylab = "ESTRATO", las = 1)

1.7.5 EDAD vs ESTRATO vs SEXO

ggplot(DATOS2026, aes(x = ESTRATO, y = EDAD, fill = SEXO)) +
  geom_boxplot(color = "#3F3F8C", alpha = 0.85) +
  scale_fill_manual(values = c("Femenino" = "#FF8C42", "Masculino" = "#00CED1")) +
  labs(title = "EDAD vs ESTRATO vs SEXO - Juan Sebastián Merlano Mendoza") +
  theme_minimal(base_size = 13) +
  theme(plot.title = element_text(face = "bold", color = "#3F3F8C", hjust = 0.5, size = 14),
        legend.position = "top")


1.8 7️⃣ Análisis Variable ESTATURA

1.8.1 Resumen Estadístico

summary(DATOS2026$ESTATURA)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  153.0   163.0   168.0   168.4   174.0   192.0 

1.8.2 Diagrama de Caja

boxplot(DATOS2026$ESTATURA, horizontal = TRUE, 
        col = "#00CED1", border = "#3F3F8C", lwd = 2,
        main = "Diagrama de Caja: ESTATURA - Juan Sebastián Merlano Mendoza", 
        xlab = "ESTATURA", boxwex = 0.5)

1.8.3 ESTATURA vs SEXO

boxplot(ESTATURA ~ SEXO, data = DATOS2026, horizontal = TRUE,
        col = colores, border = "#3F3F8C", lwd = 2,
        main = "ESTATURA vs SEXO - Juan Sebastián Merlano Mendoza", 
        xlab = "ESTATURA", las = 1)

1.8.4 ESTATURA vs ESTRATO

boxplot(ESTATURA ~ ESTRATO, data = DATOS2026, horizontal = TRUE,
        col = colores_estrato, border = "#3F3F8C", lwd = 2,
        main = "ESTATURA vs ESTRATO - Juan Sebastián Merlano Mendoza", 
        xlab = "ESTATURA", ylab = "ESTRATO", las = 1)

1.8.5 ESTATURA vs ESTRATO vs SEXO

ggplot(DATOS2026, aes(x = ESTRATO, y = ESTATURA, fill = SEXO)) +
  geom_boxplot(color = "#3F3F8C", alpha = 0.85) +
  scale_fill_manual(values = c("Femenino" = "#FF8C42", "Masculino" = "#00CED1")) +
  labs(title = "ESTATURA vs ESTRATO vs SEXO - Juan Sebastián Merlano Mendoza") +
  theme_minimal(base_size = 13) +
  theme(plot.title = element_text(face = "bold", color = "#3F3F8C", hjust = 0.5, size = 14),
        legend.position = "top")


1.9 8️⃣ Histograma y Polígonos de Frecuencia

1.9.1 Histograma (Regla de Sturges)

h2 <- graph.freq(DATOS2026$EDAD, col = "#7B68EE", border = "white", lwd = 2,
                 main = "Histograma de EDAD (Regla de Sturges) - Juan Sebastián Merlano Mendoza",
                 xlab = "EDAD", ylab = "Frecuencia")

1.9.2 Tabla de Frecuencias Agrupadas

summary(h2)

1.9.3 Polígono de Frecuencias Absolutas

plot(h2, col = "#7B68EE", border = "white", lwd = 2, frequency = 1,
     main = "Polígono de Frecuencias Absolutas - Juan Sebastián Merlano Mendoza",
     xlab = "EDAD", ylab = "Frecuencia")
polygon.freq(h2, col = "#FF8C42", frequency = 1, lwd = 3)

1.9.4 Polígono de Frecuencias Relativas

plot(h2, col = "#7B68EE", border = "white", lwd = 2, frequency = 2,
     main = "Polígono de Frecuencias Relativas - Juan Sebastián Merlano Mendoza",
     xlab = "EDAD", ylab = "Frecuencia Relativa")
polygon.freq(h2, col = "#FF8C42", frequency = 2, lwd = 3)


1.10 9️⃣ Ojivas (Frecuencias Acumuladas)

1.10.1 Cálculos de Frecuencias Acumuladas

fr_por_clase2 <- h2$counts
total_n2 <- sum(h2$counts)
fr_relativos2 <- fr_por_clase2 / total_n2
fr_porcentuales2 <- 100 * fr_relativos2

cat("Frecuencias Acumuladas Absolutas:\n")
Frecuencias Acumuladas Absolutas:
print(cumsum(fr_por_clase2))
[1]  7 39 60 60 67 71 71 74
cat("\nFrecuencias Acumuladas Porcentuales:\n")

Frecuencias Acumuladas Porcentuales:
print(cumsum(fr_porcentuales2))
[1]   9.459459  52.702703  81.081081  81.081081  90.540541  95.945946  95.945946
[8] 100.000000

1.10.2 Ojiva de Frecuencias Porcentuales

p4 <- cumsum(fr_porcentuales2)
plot(h2$breaks, c(0, p4), type = "b", pch = 21, bg = "#FF8C42", cex = 2,
     col = "#3F3F8C", lwd = 2.5, las = 1, ylim = c(0, 100),
     main = "Ojiva de Frecuencias Porcentuales Acumuladas - Juan Sebastián Merlano Mendoza",
     xlab = "EDAD", ylab = "Porcentaje Acumulado (%)")
grid(col = "#E8E3F3", lty = "dotted")



2 LABORATORIO 8: REGRESIÓN LINEAL Y ANÁLISIS BIVARIADO

LABORATORIO 8

Regresión Lineal y Análisis Bivariado
Clase 32 · Semana 8o

🎯 Objetivo: Explorar regresión lineal y correlaciones entre variables cuantitativas, detectando relaciones y patrones en los datos. Se utilizan los mismos datos del laboratorio 7, profundizando en análisis bivariado y multivariado.

👤 Estudiante: Juan Sebastián Merlano Mendoza
📅 Fecha: 01 de October de 2026


2.1 🔟 Variables Relacionadas: EDAD y ESTATURA

2.1.1 Tabla de Asociación Bivariada

resumen_relacion <- data.frame(
  Variable = c("EDAD", "ESTATURA"),
  Media = c(round(mean(DATOS2026$EDAD, na.rm = TRUE), 2),
            round(mean(DATOS2026$ESTATURA, na.rm = TRUE), 2)),
  Desv_Est = c(round(sd(DATOS2026$EDAD, na.rm = TRUE), 2),
               round(sd(DATOS2026$ESTATURA, na.rm = TRUE), 2)),
  Minimo = c(min(DATOS2026$EDAD, na.rm = TRUE),
             round(min(DATOS2026$ESTATURA, na.rm = TRUE), 2)),
  Maximo = c(max(DATOS2026$EDAD, na.rm = TRUE),
             round(max(DATOS2026$ESTATURA, na.rm = TRUE), 2))
)

kable(resumen_relacion, caption = "Resumen estadístico: EDAD y ESTATURA") |>
  kable_styling(bootstrap_options = c("striped", "hover"),
                position = "center", full_width = FALSE) |>
  row_spec(0, bold = TRUE, color = "white", background = "#3F3F8C")
Resumen estadístico: EDAD y ESTATURA
Variable Media Desv_Est Minimo Maximo
EDAD 18.70 1.19 17 22
ESTATURA 168.39 8.53 153 192

Describe la distribución central y la variabilidad de cada variable por separado, mostrando si una tiene mayor dispersión que la otra así como el rango en que se mueven ambas.

La edad promedio es 18.7 años con desviación típica de 1.19, mientras que la estatura promedio es 168.39 m con desviación típica de 8.53. Ambas presentan variabilidad considerable, lo que sugiere que el grupo es heterogéneo en ambos aspectos.


2.2 1️⃣1️⃣ Diagrama de Dispersión (Scatter Plot)

plot(DATOS2026$EDAD, DATOS2026$ESTATURA,
     main = "Relación entre EDAD y ESTATURA - Juan Sebastián Merlano Mendoza",
     xlab = "Edad (años)", ylab = "Estatura (metros)",
     pch = 19, col = rgb(20, 66, 92, 100, maxColorValue = 255), cex = 1.5,
     xlim = c(10, 75), ylim = c(1.4, 1.95))
grid(col = "#e8eef0", lty = "dotted")

Visualiza simultáneamente los valores de ambas variables mostrando si existe un patrón o tendencia entre ellas. La forma de la nube de puntos revela si la relación es lineal, curvilínea, muy dispersa o inexistente.

La dispersión es bastante amplia sin un patrón claro, lo que sugiere que la edad y la estatura en este grupo no guardan una relación lineal fuerte. Hay estudiantes de edades similares con estaturas muy distintas, así como viceversa.


2.3 1️⃣2️⃣ Coeficiente de Correlación de Pearson

correlacion <- cor(DATOS2026$EDAD, DATOS2026$ESTATURA, use = "complete.obs")

cat("Coeficiente de Pearson: ", round(correlacion, 4), "\n\n")
Coeficiente de Pearson:  -0.0774 
test_cor <- cor.test(DATOS2026$EDAD, DATOS2026$ESTATURA)
cat("Valor p: ", round(test_cor$p.value, 4), "\n")
Valor p:  0.5123 
cat("Interpretación: ", 
    if(test_cor$p.value < 0.05) {"Correlación SIGNIFICATIVA"} 
    else {"Correlación NO significativa"}, "\n")
Interpretación:  Correlación NO significativa 

Cuantifica la fuerza y dirección de la relación lineal entre dos variables. Oscila entre −1 (relación inversa perfecta) y +1 (relación directa perfecta), pasando por 0 (sin correlación). El valor p indica si la correlación es estadísticamente significativa o se debe al azar.

El coeficiente es r = -0.0774, lo que representa una correlación muy débil a prácticamente inexistente. Con p-value = 0.5123 es NO significativa, indicando que cualquier relación lineal observada se debe más al azar que a una verdadera asociación en la población.


2.4 1️⃣3️⃣ Línea de Regresión Lineal Simple

modelo_reg <- lm(ESTATURA ~ EDAD, data = DATOS2026)

plot(DATOS2026$EDAD, DATOS2026$ESTATURA,
     main = "Regresión Lineal: ESTATURA ~ EDAD - Juan Sebastián Merlano Mendoza",
     xlab = "Edad (años)", ylab = "Estatura (metros)",
     pch = 19, col = rgb(20, 66, 92, 100, maxColorValue = 255), cex = 1.5,
     xlim = c(10, 75), ylim = c(1.4, 1.95))

abline(modelo_reg, col = "#d98c2b", lwd = 2.5, lty = 1)

grid(col = "#e8eef0", lty = "dotted")

eq_text <- sprintf("Estatura = %.4f + %.5f × Edad", 
                   coef(modelo_reg)[1], coef(modelo_reg)[2])
legend("bottomright", legend = eq_text, bty = "n", cex = 0.95, 
       text.col = "#d98c2b", text.font = 2)

La regresión lineal encuentra la recta que mejor se ajusta a los datos. Permite predecir el valor de una variable (estatura) a partir de otra (edad) así como cuantificar cómo cambia la estatura por cada año adicional de edad.

La ecuación ajustada es: Estatura = 178.7644 + -0.5546 × Edad. Esto significa que por cada año adicional de edad, la estatura aumenta aproximadamente -55.46 cm, aunque este aumento es muy pequeño poco confiable dada la baja correlación observada.


2.5 1️⃣4️⃣ Resumen del Modelo de Regresión

summary(modelo_reg)

Call:
lm(formula = ESTATURA ~ EDAD, data = DATOS2026)

Residuals:
     Min       1Q   Median       3Q      Max 
-16.3362  -5.4792  -0.2816   5.6343  22.6638 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 178.7644    15.7831  11.326   <2e-16 ***
EDAD         -0.5546     0.8422  -0.658    0.512    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 8.567 on 72 degrees of freedom
Multiple R-squared:  0.005986,  Adjusted R-squared:  -0.007819 
F-statistic: 0.4336 on 1 and 72 DF,  p-value: 0.5123

Resume todos los aspectos del modelo: coeficientes (intersección y pendiente), su significancia estadística, el R² (proporción de varianza explicada) así como la bondad general del ajuste.

El R² = 0.006 indica que apenas 0.6% de la variación en estatura se explica por la edad. La mayoría de diferencias en estatura obedecen a otros factores no incluidos en el modelo, tales como la genética o la nutrición.


2.6 1️⃣5️⃣ Análisis Estratificado: EDAD, ESTATURA y SEXO

2.6.1 Gráfico de Dispersión con Estratificación por Sexo

ggplot(DATOS2026, aes(x = EDAD, y = ESTATURA, color = SEXO, shape = SEXO)) +
  geom_point(size = 3, alpha = 0.7) +
  geom_smooth(method = "lm", se = TRUE, alpha = 0.15, lwd = 1.2) +
  scale_color_manual(values = colores_sexo) +
  scale_shape_manual(values = c("Femenino" = 16, "Masculino" = 17)) +
  labs(title = "EDAD vs ESTATURA por SEXO - Juan Sebastián Merlano Mendoza",
       x = "Edad (años)", y = "Estatura (metros)") +
  theme_minimal(base_size = 12) +
  theme(
    plot.title = element_text(face = "bold", color = "#3F3F8C", hjust = 0.5, size = 13),
    panel.grid.major = element_line(color = "#e8eef0", size = 0.3),
    legend.position = "topright"
  )

Desglosa el análisis bivariado según una tercera variable (sexo) para detectar si la relación entre edad y estatura es diferente para hombres y mujeres. Cada color representa un sexo con su propia línea de tendencia.

Visualmente, se observa que los datos para sexo femenino tienden a agruparse en estaturas más bajas así como los masculinos en estaturas más altas, pero la relación con la edad dentro de cada grupo sigue siendo débil. Ambas líneas de regresión son casi planas.


2.6.2 Correlación por Sexo

femenino_data <- DATOS2026[DATOS2026$SEXO == "Femenino", ]
masculino_data <- DATOS2026[DATOS2026$SEXO == "Masculino", ]

cor_fem <- cor(femenino_data$EDAD, femenino_data$ESTATURA, use = "complete.obs")
cor_masc <- cor(masculino_data$EDAD, masculino_data$ESTATURA, use = "complete.obs")

tabla_cor_sexo <- data.frame(
  Sexo = c("Femenino", "Masculino"),
  Correlacion_r = c(round(cor_fem, 4), round(cor_masc, 4)),
  N = c(nrow(femenino_data), nrow(masculino_data))
)

kable(tabla_cor_sexo, caption = "Correlación EDAD-ESTATURA por Sexo") |>
  kable_styling(bootstrap_options = c("striped", "hover"),
                position = "center", full_width = FALSE) |>
  row_spec(0, bold = TRUE, color = "white", background = "#3F3F8C")
Correlación EDAD-ESTATURA por Sexo
Sexo Correlacion_r N
Femenino -0.0351 42
Masculino -0.1005 32

Calcula la correlación de Pearson independientemente para cada sexo, permitiendo comparar si la relación edad–estatura es más o menos fuerte en un grupo que en otro.

En ambos casos las correlaciones son muy débiles: femenino r = -0.0351 así como masculino r = -0.1005. Esto confirma que dentro de cada sexo, la edad tampoco explica bien la variación en estatura.


2.6.3 Gráfico de Cajas: ESTATURA por SEXO

ggplot(DATOS2026, aes(x = SEXO, y = ESTATURA, fill = SEXO)) +
  geom_boxplot(color = "#3F3F8C", alpha = 0.8, width = 0.5) +
  scale_fill_manual(values = colores_sexo) +
  labs(title = "Distribución de ESTATURA por SEXO - Juan Sebastián Merlano Mendoza",
       x = "Sexo", y = "Estatura (metros)") +
  theme_minimal(base_size = 12) +
  theme(
    plot.title = element_text(face = "bold", color = "#3F3F8C", hjust = 0.5, size = 13),
    panel.grid.major.y = element_line(color = "#e8eef0", size = 0.3),
    legend.position = "none"
  )

Compara la distribución de alturas entre sexos usando diagramas de caja. Facilita ver si hay diferencias sistemáticas en media, dispersión así como simetría entre grupos.

La mediana de estatura para sexo masculino está notablemente más arriba que para femenino, reflejando la diferencia biológica típica. Las cajas tienen tamaños similares, indicando dispersiones comparables, pero centradas en valores distintos.


2.6.4 Test t de Independencia: ESTATURA ~ SEXO

test_t_estatura <- t.test(DATOS2026$ESTATURA ~ DATOS2026$SEXO)

cat("Test t (Welch):\n")
Test t (Welch):
cat("t-value:", round(test_t_estatura$statistic, 4), "\n")
t-value: -5.8101 
cat("p-value:", round(test_t_estatura$p.value, 6), "\n")
p-value: 0 
cat("Diferencia de medias:", round(abs(diff(tapply(DATOS2026$ESTATURA, DATOS2026$SEXO, mean))), 4), "\n\n")
Diferencia de medias: 9.881 
if(test_t_estatura$p.value < 0.05) {
  cat("Conclusión: Las estaturas son SIGNIFICATIVAMENTE DIFERENTES entre sexos (p < 0.05)")
} else {
  cat("Conclusión: No hay diferencia significativa entre sexos (p >= 0.05)")
}
Conclusión: Las estaturas son SIGNIFICATIVAMENTE DIFERENTES entre sexos (p < 0.05)

Prueba la hipótesis de que la estatura media es igual en ambos sexos. El p-value indica si observamos suficiente evidencia para rechazar esta hipótesis.

Con p-value = 0, la diferencia es altamente significativa (p < 0.001). Esto confirma que el sexo es un factor explicativo importante para la estatura, con una diferencia promedio de aproximadamente 9.881 metros entre sexos.


2.7 1️⃣6️⃣ Conclusiones del Laboratorio 8

Resumen de hallazgos:

  1. La correlación entre edad así como estatura es muy débil (r ≈ -0.0774), lo que indica que en este grupo de estudiantes, la edad por sí sola no es un buen predictor de la estatura.

  2. El modelo de regresión explica apenas 0.6% de la varianza, sugiriendo que otros factores (genética, nutrición, enfermedad) juegan un papel mucho más importante.

  3. La diferencia de estatura por sexo es significativa (p < 0.001), con los hombres siendo en promedio más altos que las mujeres, tal como se espera de patrones biológicos.

  4. Cuando se estratifica por sexo, la relación edad–estatura sigue siendo débil en ambos grupos, confirmando que el efecto de la edad es secundario.

  5. El análisis bivariado y multivariado demuestra la importancia de considerar variables de control (como sexo) al investigar relaciones entre variables cuantitativas.