Tutorial

Estadístico F de contraste global

Este tutorial explica cómo interpretar el estadístico F de un modelo lineal múltiple en R para responder si el conjunto de covariables explica de forma significativa los niveles de HDL. Incluye especificación con lm(), extracción del test global, tabla resumen y visualización de la distribución F bajo la hipótesis nula.

Descripción

El estadístico F compara la señal explicada por el modelo frente al ruido residual. En la práctica, es el contraste global que evalúa si al menos uno de los coeficientes del modelo lineal es distinto de cero.

El ejemplo usa HDL como variable dependiente y combina predictores clínicos, demográficos y de estilo de vida para mostrar cómo leer el resumen del modelo y cómo traducirlo a una narrativa estadística clara.

Requisitos previos

  • R 4.0 o superior.
  • Paquetes dplyr, knitr, kableExtra y tidyr.
  • Base met_CQI_rl cargada en memoria y limpia para el ajuste.
  • Conceptos básicos de regresión lineal, grados de libertad y p-valor.

Pasos clave

  • Definir un modelo lineal múltiple con lm().
  • Obtener el resumen del modelo y localizar el estadístico F.
  • Extraer numerador, denominador y p-valor global del contraste.
  • Construir una tabla legible con las métricas del test.
  • Representar la distribución F teórica y marcar el F observado.
  • Interpretar si la evidencia rechaza la hipótesis nula de modelo no significativo.

Código de ejemplo

Fragmento resumido del flujo para extraer e interpretar el contraste global del modelo.

library(dplyr)
library(knitr)
library(kableExtra)

rlm <- lm(
  hdl ~ edad0 + as.factor(sexo) + as.factor(tabaco0) + ps1 + ps2 +
    as.factor(grup_int) + energiat + alcoholg + imc1 + idcluster +
    escolar1 + getota_1 + as.factor(hipercol0) + as.factor(hta0) +
    as.factor(tra_col0) + as.factor(trathta0),
  data = met_CQI_rl
)

resumen <- summary(rlm)
f_valor <- resumen$fstatistic[1]
df_num <- resumen$fstatistic[2]
df_den <- resumen$fstatistic[3]
p_global <- pf(f_valor, df_num, df_den, lower.tail = FALSE)

curve(df(x, df_num, df_den), from = 0, to = f_valor + 2)
abline(v = f_valor, col = "#2c3e50", lwd = 3, lty = 2)

Nota metodológica

El estadístico F no dice qué variable concreta impulsa la asociación, sino si el modelo completo aporta información frente a un modelo sin predictores. Un valor como F = 18.34 con p < 0.001 indica que el patrón observado es muy poco compatible con azar. Aun así, la significación global debe leerse junto al R-cuadrado ajustado, los residuos y la plausibilidad sustantiva del modelo.