Código
# Para publicar profesional https://app.netlify.com/drop
library(tidyverse)
library(gt)Una demostración de flujo de trabajo reproducible con R y Quarto
# Para publicar profesional https://app.netlify.com/drop
library(tidyverse)
library(gt)Este documento no es un PDF estático ni un Word desconectado de los datos. Es un archivo vivo. Todo lo que verás a continuación (tablas, cálculos y gráficos) se genera en tiempo real a partir del código.
Las virtudes de este flujo:
Para este ejemplo, utilizaremos el clásico conjunto de datos mtcars (Motor Trend Car Road Tests) de 1974. Las variables contenidas en este conjunto de datos son:
mpg: Millas por galón (consumo de combustible).cyl: Número de cilindros.disp: Desplazamiento (pulgadas cúbicas).hp: Caballos de fuerza brutos (Horsepower).drat: Relación del eje trasero.wt: Peso (en miles de libras).qsec: Tiempo de 1/4 de milla (medida de aceleración).vs: Tipo de motor (0 = forma de V, 1 = recto/en línea).am: Transmisión (0 = automático, 1 = manual).gear: Número de marchas hacia adelante.carb: Número de carburadores.Primero, cargamos los datos y hacemos una pequeña transformación para que las categorías sean legibles (cambiando 0 y 1 por nombres reales).
# Carga de datos
data(mtcars)
# Transformación simple con dplyr
df_coches <- mtcars %>%
mutate(
tipo_transmision = factor(am, levels = c(0, 1), labels = c("Automático", "Manual")),
cilindros = factor(cyl)
)
# Mostramos las primeras filas
head(df_coches) %>%
gt() %>%
tab_header(title = "Vista previa de los datos")| Vista previa de los datos | ||||||||||||
| mpg | cyl | disp | hp | drat | wt | qsec | vs | am | gear | carb | tipo_transmision | cilindros |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 21.0 | 6 | 160 | 110 | 3.90 | 2.620 | 16.46 | 0 | 1 | 4 | 4 | Manual | 6 |
| 21.0 | 6 | 160 | 110 | 3.90 | 2.875 | 17.02 | 0 | 1 | 4 | 4 | Manual | 6 |
| 22.8 | 4 | 108 | 93 | 3.85 | 2.320 | 18.61 | 1 | 1 | 4 | 1 | Manual | 4 |
| 21.4 | 6 | 258 | 110 | 3.08 | 3.215 | 19.44 | 1 | 0 | 3 | 1 | Automático | 6 |
| 18.7 | 8 | 360 | 175 | 3.15 | 3.440 | 17.02 | 0 | 0 | 3 | 2 | Automático | 8 |
| 18.1 | 6 | 225 | 105 | 2.76 | 3.460 | 20.22 | 1 | 0 | 3 | 1 | Automático | 6 |
¿Existe una diferencia en el consumo de combustible (millas por galón - mpg) dependiendo del tipo de transmisión?
Generamos una tabla resumen elegante utilizando el paquete gt.
tabla_resumen <- df_coches %>%
group_by(tipo_transmision) %>%
summarise(
n = n(),
promedio_mpg = mean(mpg),
desv_std = sd(mpg),
min_mpg = min(mpg),
max_mpg = max(mpg)
)
# Renderizar tabla bonita
tabla_resumen %>%
gt() %>%
tab_header(
title = "Eficiencia de Combustible por Transmisión",
subtitle = "Comparativa de Millas por Galón (MPG)"
) %>%
fmt_number(columns = where(is.numeric), decimals = 2) %>%
cols_label(
tipo_transmision = "Transmisión",
promedio_mpg = "Promedio MPG",
desv_std = "Desviación Est.",
n = "Cantidad de Coches"
)| Eficiencia de Combustible por Transmisión | |||||
| Comparativa de Millas por Galón (MPG) | |||||
| Transmisión | Cantidad de Coches | Promedio MPG | Desviación Est. | min_mpg | max_mpg |
|---|---|---|---|---|---|
| Automático | 19.00 | 17.15 | 3.83 | 10.40 | 24.40 |
| Manual | 13.00 | 24.39 | 6.17 | 15.00 | 33.90 |
Observación: A simple vista, parece que los coches manuales tienen un promedio de rendimiento superior (24.4) comparado con los automáticos (17.1).
Una imagen vale más que mil palabras. Usaremos ggplot2 para visualizar la distribución. Observa cómo podemos incrustar gráficos de alta calidad directamente.
ggplot(df_coches, aes(x = tipo_transmision, y = mpg, fill = tipo_transmision)) +
geom_boxplot(alpha = 0.7) +
geom_jitter(width = 0.1, alpha = 0.5) + # Puntos individuales
scale_fill_manual(values = c("#E69F00", "#56B4E9")) +
labs(
title = "Rendimiento: Automático vs Manual",
subtitle = "Base de datos Motor Trend 1974",
x = "Tipo de Transmisión",
y = "Millas por Galón (MPG)",
fill = "Transmisión"
) +
theme_minimal()¿Es esta diferencia estadísticamente significativa o es producto del azar? Realizaremos una prueba t de Student.
test_resultado <- t.test(mpg ~ tipo_transmision, data = df_coches)
test_resultado
Welch Two Sample t-test
data: mpg by tipo_transmision
t = -3.7671, df = 18.332, p-value = 0.001374
alternative hypothesis: true difference in means between group Automático and group Manual is not equal to 0
95 percent confidence interval:
-11.280194 -3.209684
sample estimates:
mean in group Automático mean in group Manual
17.14737 24.39231
Interpretación del resultado: Dado que el p-value es 0.00137 (menor a 0.05), rechazamos la hipótesis nula. Existe evidencia estadística significativa para afirmar que el tipo de transmisión influye en el consumo de combustible en estos modelos de 1974.
Hemos pasado de datos crudos a un reporte web completo en segundos.
Si mañana recibiéramos datos de coches del año 2024 con la misma estructura, no tendríamos que reescribir el informe. Solo cambiaríamos el archivo de entrada, haríamos clic en “Render”, y tendríamos un nuevo sitio web actualizado y listo para publicar.