Diplomado: MANEJO DE ECOSISTEMAS MARINOS COSTEROS DEL CARIBE
Programa: Biología — Universidad de La Guajira
Facultad: Ciencias Básicas y Aplicadas
Docente: Cristian Granados-Martínez PhD.


1 Introducción

Este documento presenta el análisis estadístico de las tallas (estatura en metros) registradas para los estudiantes del diplomado, comparando los grupos de mujeres y hombres.

El análisis incluye:

  • Estadística descriptiva por grupo
  • Visualización exploratoria de los datos
  • Verificación de supuestos estadísticos
  • Prueba t de Student para muestras independientes
  • Interpretación de resultados

2 Paquetes y Datos

2.1 Carga de paquetes

library(tidyverse)
library(rstatix)
library(ggpubr)
library(car)

2.2 Ingreso de datos

# ── Tallas registradas (en metros) ───────────────────────────────────────────
# Nota: el dato "167" fue corregido a 1.67 (error tipográfico en la planilla)

mujeres <- c(1.60, 1.53, 1.55, 1.56, 1.86, 1.56, 1.50, 1.62,
             1.56, 1.58, 1.67, 1.52, 1.56, 1.72, 1.55, 1.62,
             1.60, 1.65, 1.60, 1.56)

hombres <- c(1.63, 1.80, 1.79, 1.78, 1.90, 1.69, 1.80, 1.85,
             1.67, 1.67, 1.82, 1.67, 1.65)

# Organizar en un data.frame para el análisis
datos <- data.frame(
  talla = c(mujeres, hombres),
  sexo  = c(rep("Mujeres", length(mujeres)),
            rep("Hombres", length(hombres)))
)

# Convertir sexo a factor con orden definido
datos$sexo <- factor(datos$sexo, levels = c("Mujeres", "Hombres"))

# Vista previa
head(datos, 10)
cat("Número de mujeres:", length(mujeres), "\n")
## Número de mujeres: 20
cat("Número de hombres:", length(hombres), "\n")
## Número de hombres: 13
cat("Total de estudiantes:", nrow(datos), "\n")
## Total de estudiantes: 33

3 Estadística Descriptiva

resumen <- datos |>
  group_by(sexo) |>
  summarise(
    n          = n(),
    media      = round(mean(talla), 3),
    mediana    = round(median(talla), 3),
    desv_est   = round(sd(talla), 3),
    error_est  = round(sd(talla) / sqrt(n()), 3),
    minimo     = round(min(talla), 2),
    maximo     = round(max(talla), 2),
    rango      = round(max(talla) - min(talla), 2),
    CV_pct     = round((sd(talla) / mean(talla)) * 100, 1)
  )

resumen

CV (%) = Coeficiente de Variación. Valores bajos indican que las tallas dentro del grupo son homogéneas.

# Cuartiles por grupo
datos |>
  group_by(sexo) |>
  summarise(
    Q1     = quantile(talla, 0.25),
    Q2_med = quantile(talla, 0.50),
    Q3     = quantile(talla, 0.75),
    IQR    = IQR(talla)
  )

4 Visualización de Datos

4.1 Boxplot con puntos individuales

ggplot(datos, aes(x = sexo, y = talla, fill = sexo)) +
  geom_boxplot(alpha = 0.55, outlier.shape = NA, width = 0.45) +
  geom_jitter(aes(color = sexo), width = 0.12, size = 3, alpha = 0.75) +
  stat_summary(fun = mean, geom = "point", shape = 23,
               size = 4, fill = "white", color = "black") +
  labs(
    title    = "Distribución de Tallas — Estudiantes del Diplomado",
    subtitle = "El rombo blanco representa la media de cada grupo",
    x        = NULL,
    y        = "Talla (m)",
    caption  = paste0("n Mujeres = ", length(mujeres),
                      "  |  n Hombres = ", length(hombres))
  ) +
  scale_fill_manual(values  = c("Mujeres" = "#E07B8A", "Hombres" = "#4E9BB9")) +
  scale_color_manual(values = c("Mujeres" = "#C0415A", "Hombres" = "#1F6E8C")) +
  scale_y_continuous(breaks = seq(1.45, 1.95, by = 0.05),
                     labels = scales::number_format(accuracy = 0.01)) +
  theme_classic(base_size = 13) +
  theme(legend.position = "none")
Distribución de tallas por sexo. Cada punto representa un estudiante.

Distribución de tallas por sexo. Cada punto representa un estudiante.

4.2 Histograma por grupo

ggplot(datos, aes(x = talla, fill = sexo)) +
  geom_histogram(binwidth = 0.04, color = "white", alpha = 0.85) +
  geom_vline(data = resumen, aes(xintercept = media, color = sexo),
             linewidth = 1.2, linetype = "dashed") +
  facet_wrap(~ sexo, ncol = 1) +
  labs(
    title   = "Histograma de Tallas por Sexo",
    subtitle = "La línea punteada indica la media del grupo",
    x       = "Talla (m)",
    y       = "Número de estudiantes"
  ) +
  scale_fill_manual(values  = c("Mujeres" = "#E07B8A", "Hombres" = "#4E9BB9")) +
  scale_color_manual(values = c("Mujeres" = "#C0415A", "Hombres" = "#1F6E8C")) +
  scale_x_continuous(breaks = seq(1.45, 1.95, by = 0.05)) +
  theme_bw(base_size = 13) +
  theme(legend.position = "none")
Distribución de frecuencias de tallas por sexo.

Distribución de frecuencias de tallas por sexo.

4.3 Gráfico de medias con intervalo de confianza

ggplot(datos, aes(x = sexo, y = talla, color = sexo)) +
  stat_summary(fun.data = mean_ci, geom = "errorbar",
               width = 0.15, linewidth = 1.0) +
  stat_summary(fun = mean, geom = "point", size = 5) +
  stat_summary(fun = mean, geom = "line", aes(group = 1),
               linewidth = 0.8, linetype = "dashed", color = "gray50") +
  labs(
    title    = "Media e Intervalo de Confianza al 95%",
    subtitle = "Tallas de estudiantes del diplomado",
    x        = NULL,
    y        = "Talla (m)"
  ) +
  scale_color_manual(values = c("Mujeres" = "#C0415A", "Hombres" = "#1F6E8C")) +
  scale_y_continuous(limits = c(1.55, 1.85),
                     breaks = seq(1.55, 1.85, by = 0.05)) +
  theme_classic(base_size = 13) +
  theme(legend.position = "none")
Media ± intervalo de confianza al 95% de las tallas por sexo.

Media ± intervalo de confianza al 95% de las tallas por sexo.


5 Verificación de Supuestos

Antes de aplicar la prueba t, verificamos que se cumplen los supuestos estadísticos necesarios.

5.1 Normalidad — Prueba de Shapiro-Wilk

H₀: Los datos siguen una distribución normal
Si p > 0.05 → no se rechaza la normalidad ✔

datos |>
  group_by(sexo) |>
  shapiro_test(talla)

5.2 Normalidad — Gráfico Q-Q

ggqqplot(datos,
         x        = "talla",
         facet.by = "sexo",
         color    = "sexo",
         palette  = c("#C0415A", "#1F6E8C"),
         title    = "Evaluación de Normalidad — Gráfico Q-Q")
Gráficos Q-Q para evaluar normalidad de las tallas por sexo. Los puntos deben seguir la línea diagonal.

Gráficos Q-Q para evaluar normalidad de las tallas por sexo. Los puntos deben seguir la línea diagonal.

5.3 Homogeneidad de varianzas — Prueba de Levene

H₀: Las varianzas de mujeres y hombres son iguales
Si p > 0.05 → varianzas homogéneas ✔

leveneTest(talla ~ sexo, data = datos)

6 Prueba t de Student

Con base en los resultados de los supuestos, aplicamos la prueba t para muestras independientes.

Pregunta: ¿Existe una diferencia estadísticamente significativa en la talla promedio entre mujeres y hombres del diplomado?

  • H₀: μ_mujeres = μ_hombres (no hay diferencia)
  • H₁: μ_mujeres ≠ μ_hombres (sí hay diferencia)
  • Nivel de significancia: α = 0.05
resultado_t <- t.test(talla ~ sexo,
                      data      = datos,
                      var.equal = TRUE)   # ajustar a FALSE si Levene p < 0.05

resultado_t
## 
##  Two Sample t-test
## 
## data:  talla by sexo
## t = -5.0066, df = 31, p-value = 2.108e-05
## alternative hypothesis: true difference in means between group Mujeres and group Hombres is not equal to 0
## 95 percent confidence interval:
##  -0.20996823 -0.08841639
## sample estimates:
## mean in group Mujeres mean in group Hombres 
##              1.598500              1.747692

6.1 Tamaño del efecto — d de Cohen

El tamaño del efecto indica la magnitud práctica de la diferencia, independientemente del tamaño de muestra.

Valor de d Interpretación
0.2 Efecto pequeño
0.5 Efecto mediano
0.8 Efecto grande
datos |>
  cohens_d(talla ~ sexo)

6.2 Visualización con resultado estadístico

ggplot(datos, aes(x = sexo, y = talla, fill = sexo)) +
  geom_boxplot(alpha = 0.55, outlier.shape = NA, width = 0.45) +
  geom_jitter(aes(color = sexo), width = 0.12, size = 3, alpha = 0.7) +
  stat_compare_means(
    method       = "t.test",
    label        = "p.format",
    label.x      = 1.35,
    label.y      = 1.93,
    size         = 4.5
  ) +
  stat_summary(fun = mean, geom = "point", shape = 23,
               size = 4, fill = "white", color = "black") +
  labs(
    title    = "Tallas de Estudiantes — Mujeres vs. Hombres",
    subtitle = "Prueba t de Student para muestras independientes",
    x        = NULL,
    y        = "Talla (m)",
    caption  = paste0("n Mujeres = ", length(mujeres),
                      "  |  n Hombres = ", length(hombres))
  ) +
  scale_fill_manual(values  = c("Mujeres" = "#E07B8A", "Hombres" = "#4E9BB9")) +
  scale_color_manual(values = c("Mujeres" = "#C0415A", "Hombres" = "#1F6E8C")) +
  scale_y_continuous(breaks = seq(1.45, 1.95, by = 0.05)) +
  theme_classic(base_size = 13) +
  theme(legend.position = "none")
Comparación de tallas entre mujeres y hombres con resultado de la prueba t.

Comparación de tallas entre mujeres y hombres con resultado de la prueba t.


7 Resumen de Resultados

p_valor   <- resultado_t$p.value
media_M   <- round(mean(mujeres), 3)
media_H   <- round(mean(hombres), 3)
diferencia <- round(media_H - media_M, 3)

cat("══════════════════════════════════════════════════\n")
## ══════════════════════════════════════════════════
cat("  RESUMEN DEL ANÁLISIS DE TALLAS\n")
##   RESUMEN DEL ANÁLISIS DE TALLAS
cat("══════════════════════════════════════════════════\n\n")
## ══════════════════════════════════════════════════
cat(sprintf("  Talla media Mujeres:  %.3f m  (n = %d)\n", media_M, length(mujeres)))
##   Talla media Mujeres:  1.598 m  (n = 20)
cat(sprintf("  Talla media Hombres:  %.3f m  (n = %d)\n", media_H, length(hombres)))
##   Talla media Hombres:  1.748 m  (n = 13)
cat(sprintf("  Diferencia de medias: %.3f m\n\n", diferencia))
##   Diferencia de medias: 0.150 m
cat(sprintf("  Valor p (prueba t):   %.4f\n", p_valor))
##   Valor p (prueba t):   0.0000
if (p_valor < 0.05) {
  cat("\n  CONCLUSIÓN: La diferencia de tallas entre mujeres\n")
  cat("  y hombres es ESTADÍSTICAMENTE SIGNIFICATIVA\n")
  cat("  (p < 0.05). Los hombres presentan una talla\n")
  cat(sprintf("  promedio %.1f cm mayor que las mujeres.\n",
              diferencia * 100))
} else {
  cat("\n  CONCLUSIÓN: No existe diferencia estadísticamente\n")
  cat("  significativa entre las tallas de mujeres y hombres\n")
  cat("  (p ≥ 0.05).\n")
}
## 
##   CONCLUSIÓN: La diferencia de tallas entre mujeres
##   y hombres es ESTADÍSTICAMENTE SIGNIFICATIVA
##   (p < 0.05). Los hombres presentan una talla
##   promedio 15.0 cm mayor que las mujeres.
cat("══════════════════════════════════════════════════\n")
## ══════════════════════════════════════════════════

8 Conclusiones

Con base en los datos de los 33 estudiantes del diplomado (mujeres: n = 20, hombres: n = 13), el análisis estadístico permite concluir:

  1. La talla promedio de las mujeres fue de 1.6 m (DE = 0.081 m), mientras que la de los hombres fue de 1.75 m (DE = 0.088 m).

  2. La prueba de Shapiro-Wilk confirmó que ambos grupos presentan una distribución normal de los datos (p > 0.05), y la prueba de Levene indicó homogeneidad de varianzas entre los grupos.

  3. La prueba t de Student para muestras independientes reveló una diferencia estadísticamente significativa entre las tallas de mujeres y hombres (t = -5.007, gl = 31, p = 0).


Cristian Granados-Martínez PhD. — Programa de Biología, Universidad de La Guajira
Diplomado en Manejo de Ecosistemas Marinos Costeros del Caribe — 2026