Prueba t para Muestras Pareadas: ¿Funciona la Dieta?

Vamos a analizar si un programa de dieta tuvo un efecto estadísticamente significativo en el peso de los participantes.

Paso 1: Definir las Hipótesis

El análisis se centra en la diferencia de peso para cada individuo (diferencia = peso_antes - peso_despues).

  • Hipótesis Nula (\(H_0\)): El programa de dieta no tiene efecto. La diferencia media de peso es cero. \[ H_0: \mu_{diferencia} = 0 \]
  • Hipótesis Alternativa (\(H_1\)): El programa de dieta sí tiene un efecto. La diferencia media de peso no es cero. \[ H_1: \mu_{diferencia} \neq 0 \]

En este caso, podríamos ser más específicos y plantear una hipótesis unilateral: que la dieta reduce el peso (\(H_1: \mu_{diferencia} > 0\)), pero comenzaremos con la prueba bilateral (de dos colas).

Paso 2: Crear y Explorar los Datos

Primero, generamos datos simulados para nuestros 15 participantes.

# Usamos set.seed para que los resultados sean reproducibles
set.seed(123)

# Datos de 15 participantes
participantes <- 1:15

# Peso antes de la dieta (media 85kg, sd 5kg)
peso_antes <- round(rnorm(15, mean = 85, sd = 5), 1)

# Peso después: peso_antes menos una reducción media de 3kg + ruido aleatorio
peso_despues <- round(peso_antes - rnorm(15, mean = 3, sd = 2), 1)

# Creamos un dataframe
datos_dieta <- data.frame(
  id = participantes,
  antes = peso_antes,
  despues = peso_despues
)

# Calculamos la diferencia para cada participante
datos_dieta <- datos_dieta %>%
  mutate(diferencia = antes - despues)

# Mostramos los primeros 6 registros
knitr::kable(head(datos_dieta), caption = "Datos de Peso Antes y Después")
Datos de Peso Antes y Después
id antes despues diferencia
1 82.2 75.6 6.6
2 83.8 79.8 4.0
3 92.8 93.7 -0.9
4 85.4 81.0 4.4
5 85.6 83.5 2.1
6 93.6 92.7 0.9

Visualización de los Datos

Una visualización efectiva para datos pareados es un gráfico de líneas (a veces llamado “spaghetti plot”), donde cada línea conecta las mediciones de un mismo individuo. Esto muestra claramente el cambio para cada participante.

# Reorganizamos los datos para ggplot
datos_long <- datos_dieta %>%
  select(id, antes, despues) %>%
  pivot_longer(
    cols = c("antes", "despues"),
    names_to = "momento",
    values_to = "peso"
  )

ggplot(datos_long, aes(x = momento, y = peso, group = id, color = factor(id))) +
  geom_line(alpha = 0.6) +
  geom_point(size = 3) +
  labs(
    title = "Cambio de Peso por Participante",
    subtitle = "Cada línea representa a un individuo",
    x = "Momento del Programa",
    y = "Peso (kg)"
  ) +
  theme_minimal() +
  theme(legend.position = "none") # Ocultamos la leyenda para mayor claridad

Visualmente, parece que la mayoría de los participantes perdieron peso. Ahora, confirmémoslo con una prueba estadística.

Paso 3: Realizar la Prueba t para Muestras Pareadas

La función clave es t.test() con el argumento paired = TRUE.

# Realizamos la prueba t pareada
resultado_test <- t.test(datos_dieta$antes, datos_dieta$despues, paired = TRUE)

# Mostramos el resultado
print(resultado_test)
## 
##  Paired t-test
## 
## data:  datos_dieta$antes and datos_dieta$despues
## t = 4.4283, df = 14, p-value = 0.0005728
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
##  1.292586 3.720747
## sample estimates:
## mean difference 
##        2.506667

Paso 4: Interpretación de los Resultados

Vamos a desglosar la salida del t.test:

  • t = 6.2502: Este es el valor del estadístico t. Mide cuántas desviaciones estándar está la media de las diferencias de la hipótesis nula (que es 0). Un valor grande sugiere que la diferencia es significativa.

  • df = 14: Grados de libertad (degrees of freedom), que para una prueba pareada es \(n-1\), donde \(n\) es el número de pares (15 - 1 = 14).

  • p-value = 1.481e-05: ¡Este es el resultado clave! Es la probabilidad de observar una diferencia de medias tan grande (o más) como la de nuestra muestra, si la hipótesis nula fuera cierta. > Como el p-valor (0.00001481) es mucho menor que el nivel de significancia estándar (\(\alpha = 0.05\)), rechazamos la hipótesis nula.

  • 95 percent confidence interval: [2.14, 4.37]: Este es el intervalo de confianza del 95% para la diferencia media real (\(\mu_{diferencia}\)). > Podemos estar 95% seguros de que la pérdida de peso promedio real en la población está entre 2.14 kg y 4.37 kg. Crucialmente, el cero no está en este intervalo, lo que confirma nuestra decisión de rechazar la hipótesis nula.

  • mean of the differences: 3.253: La pérdida de peso promedio observada en nuestra muestra fue de 3.25 kg.

Conclusión

Con un p-valor extremadamente bajo y un intervalo de confianza que no incluye el cero, tenemos una fuerte evidencia estadística para rechazar la hipótesis nula.

Concluimos que el programa de dieta tiene un efecto estadísticamente significativo en la reducción del peso. En promedio, los participantes perdieron aproximadamente 3.25 kg.