Análisis de Eficiencia de Combustible

Una demostración de flujo de trabajo reproducible con R y Quarto

Autor/a

Tu Nombre Aquí

Fecha de publicación

21/12/2025

Código
# Para publicar profesional https://app.netlify.com/drop
library(tidyverse)
library(gt)

1. Introducción: ¿Por qué este formato?

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:

  1. Transparencia: Puedes ver el código que generó el resultado haciendo clic en “Code”.
  2. Reproducibilidad: Si los datos cambian, solo “renderizamos” de nuevo y todo se actualiza.
  3. Publicación inmediata: Este archivo se convierte en una página web lista para compartir.

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.

2. Carga y Limpieza de Datos

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).

Código
# 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

3. Análisis Descriptivo

¿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.

Código
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).

4. Visualización de Datos

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.

Código
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()

Distribución de MPG según transmisión

5. Inferencia Estadística

¿Es esta diferencia estadísticamente significativa o es producto del azar? Realizaremos una prueba t de Student.

Código
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.

6. Conclusión

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.