R Markdown combina: - Texto explicativo - Código en R - Resultados (tablas y gráficos)
Objetivo taller: generar un reporte reproducible con Knit.
.RmdUn .Rmd tiene: 1) YAML (arriba) 2) Texto en Markdown 3)
Chunks con código R
✅ Ejercicio 1 (5 min):
Cambia el title (arriba) por un título con tu nombre y
vuelve a hacer Knit.
Completado: El título ya ha sido actualizado a “Taller Básico de R Markdown - Alvaro Puma”
✅ Ejercicio 2 (5–10 min):
Escribe una mini-lista con 3 objetivos personales del curso.
✅ Ejercicio 3 (3 min):
Escribe una frase y resalta una palabra en negrita y
otra en cursiva.
Frase: El análisis de datos es fundamental para la transformación digital de las empresas modernas.
R incluye un dataset llamado mtcars.
# Mostrar las primeras 6 filas de mtcars
head(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
✅ Ejercicio 4: Ejecuta este chunk y luego Knit.
Completado: El código muestra las primeras 6 filas del dataset mtcars con información sobre diferentes modelos de automóviles.
# Calcular el summary de la variable mpg
summary(mtcars$mpg)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 10.40 15.43 19.20 20.09 22.80 33.90
✅ Ejercicio 5: Knit y revisa el resultado.
Completado: El resumen muestra estadísticas descriptivas de la variable MPG (millas por galón).
✅ Ejercicio 6 (exploración): 1) En el chunk de
arriba, agrega echo=FALSE dentro de las llaves. 2) Knit y
observa qué cambia.
Nota: Al agregar echo=FALSE, el código
no se muestra en el documento final, solo los resultados. Esto es útil
para reportes ejecutivos donde solo interesan los resultados.
✅ Ejercicio 7 (5 min):
Completa la frase usando inline R para mostrar la media de
mpg con 2 decimales:
La media de MPG es: 20.09
Explicación: El código inline permite insertar resultados de R directamente en el texto narrativo, haciendo el documento más dinámico.
✅ Ejercicio 8 (10 min):
Muestra una tabla con las primeras 8 filas usando
knitr::kable().
# Crear tabla formateada con kable
knitr::kable(head(mtcars, 8),
caption = "Primeras 8 filas del dataset mtcars",
digits = 2)
| mpg | cyl | disp | hp | drat | wt | qsec | vs | am | gear | carb | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Mazda RX4 | 21.0 | 6 | 160.0 | 110 | 3.90 | 2.62 | 16.46 | 0 | 1 | 4 | 4 |
| Mazda RX4 Wag | 21.0 | 6 | 160.0 | 110 | 3.90 | 2.88 | 17.02 | 0 | 1 | 4 | 4 |
| Datsun 710 | 22.8 | 4 | 108.0 | 93 | 3.85 | 2.32 | 18.61 | 1 | 1 | 4 | 1 |
| Hornet 4 Drive | 21.4 | 6 | 258.0 | 110 | 3.08 | 3.21 | 19.44 | 1 | 0 | 3 | 1 |
| Hornet Sportabout | 18.7 | 8 | 360.0 | 175 | 3.15 | 3.44 | 17.02 | 0 | 0 | 3 | 2 |
| Valiant | 18.1 | 6 | 225.0 | 105 | 2.76 | 3.46 | 20.22 | 1 | 0 | 3 | 1 |
| Duster 360 | 14.3 | 8 | 360.0 | 245 | 3.21 | 3.57 | 15.84 | 0 | 0 | 3 | 4 |
| Merc 240D | 24.4 | 4 | 146.7 | 62 | 3.69 | 3.19 | 20.00 | 1 | 0 | 4 | 2 |
Completado: La función kable() crea
tablas con formato profesional, ideal para reportes.
✅ Ejercicio 9 (15 min):
Crea un gráfico de dispersión entre wt (peso) y
mpg.
# Gráfico de dispersión con ggplot2
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point(color = "steelblue", size = 3, alpha = 0.7) +
geom_smooth(method = "lm", se = TRUE, color = "red", linetype = "dashed") +
labs(
title = "Relación entre Peso y Consumo de Combustible",
subtitle = "Dataset mtcars",
x = "Peso del vehículo (1000 lbs)",
y = "Millas por galón (MPG)",
caption = "Fuente: Motor Trend 1974"
) +
theme_minimal() +
theme(
plot.title = element_text(face = "bold", size = 14),
plot.subtitle = element_text(color = "gray40")
)
Relación entre peso del vehículo y consumo de combustible
Análisis: Se observa una relación inversa entre el peso del vehículo y su eficiencia de combustible. Los vehículos más pesados tienden a consumir más combustible (menor MPG).
Tu reporte final debe tener: - 2 secciones (con ##) - 2
chunks: - summary de mpg - un gráfico - 1 inline R - 1 tabla con
kable
# Resumen estadístico de MPG
summary(mtcars$mpg)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 10.40 15.43 19.20 20.09 22.80 33.90
# Estadísticas adicionales
cat("\nEstadísticas adicionales:\n")
##
## Estadísticas adicionales:
cat("Desviación estándar:", round(sd(mtcars$mpg), 2), "\n")
## Desviación estándar: 6.03
cat("Varianza:", round(var(mtcars$mpg), 2), "\n")
## Varianza: 36.32
cat("Coeficiente de variación:", round(sd(mtcars$mpg)/mean(mtcars$mpg)*100, 2), "%\n")
## Coeficiente de variación: 30 %
El consumo promedio de combustible en el dataset es de 20.09 millas por galón, con una desviación estándar de 6.03 MPG.
# Tabla con las 10 primeras observaciones
# Seleccionando las variables más relevantes
tabla_seleccion <- mtcars[1:10, c("mpg", "cyl", "hp", "wt", "qsec")]
knitr::kable(
tabla_seleccion,
caption = "Top 10 vehículos del dataset mtcars - Variables seleccionadas",
col.names = c("MPG", "Cilindros", "Caballos de fuerza", "Peso (1000 lbs)", "1/4 milla (seg)"),
digits = 2,
align = "c"
)
| MPG | Cilindros | Caballos de fuerza | Peso (1000 lbs) | 1/4 milla (seg) | |
|---|---|---|---|---|---|
| Mazda RX4 | 21.0 | 6 | 110 | 2.62 | 16.46 |
| Mazda RX4 Wag | 21.0 | 6 | 110 | 2.88 | 17.02 |
| Datsun 710 | 22.8 | 4 | 93 | 2.32 | 18.61 |
| Hornet 4 Drive | 21.4 | 6 | 110 | 3.21 | 19.44 |
| Hornet Sportabout | 18.7 | 8 | 175 | 3.44 | 17.02 |
| Valiant | 18.1 | 6 | 105 | 3.46 | 20.22 |
| Duster 360 | 14.3 | 8 | 245 | 3.57 | 15.84 |
| Merc 240D | 24.4 | 4 | 62 | 3.19 | 20.00 |
| Merc 230 | 22.8 | 4 | 95 | 3.15 | 22.90 |
| Merc 280 | 19.2 | 6 | 123 | 3.44 | 18.30 |
# Gráfico comparativo múltiple
# Gráfico 1: Boxplot de MPG por número de cilindros
p1 <- ggplot(mtcars, aes(x = factor(cyl), y = mpg, fill = factor(cyl))) +
geom_boxplot(alpha = 0.7) +
labs(
title = "Consumo por número de cilindros",
x = "Número de cilindros",
y = "MPG"
) +
scale_fill_brewer(palette = "Set2") +
theme_minimal() +
theme(legend.position = "none")
# Gráfico 2: Histograma de distribución de MPG
p2 <- ggplot(mtcars, aes(x = mpg)) +
geom_histogram(bins = 10, fill = "steelblue", color = "white", alpha = 0.7) +
geom_vline(aes(xintercept = mean(mpg)),
color = "red", linetype = "dashed", size = 1) +
labs(
title = "Distribución del consumo de combustible",
x = "Millas por galón (MPG)",
y = "Frecuencia"
) +
theme_minimal()
# Combinar gráficos
grid.arrange(p1, p2, ncol = 2)
Insights clave:
Este taller demuestra las capacidades de R Markdown para crear reportes reproducibles que integran:
R Markdown es una herramienta fundamental para comunicar hallazgos de datos de manera efectiva y profesional.
## R version 4.5.2 (2025-10-31 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows 11 x64 (build 26100)
##
## Matrix products: default
## LAPACK version 3.12.1
##
## locale:
## [1] LC_COLLATE=Spanish_Spain.utf8 LC_CTYPE=Spanish_Spain.utf8
## [3] LC_MONETARY=Spanish_Spain.utf8 LC_NUMERIC=C
## [5] LC_TIME=Spanish_Spain.utf8
##
## time zone: America/Lima
## tzcode source: internal
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] gridExtra_2.3 ggplot2_4.0.1 knitr_1.51
##
## loaded via a namespace (and not attached):
## [1] Matrix_1.7-4 gtable_0.3.6 jsonlite_2.0.0 dplyr_1.1.4
## [5] compiler_4.5.2 tidyselect_1.2.1 jquerylib_0.1.4 splines_4.5.2
## [9] scales_1.4.0 yaml_2.3.12 fastmap_1.2.0 lattice_0.22-7
## [13] R6_2.6.1 labeling_0.4.3 generics_0.1.4 tibble_3.3.0
## [17] bslib_0.9.0 pillar_1.11.1 RColorBrewer_1.1-3 rlang_1.1.6
## [21] cachem_1.1.0 xfun_0.55 sass_0.4.10 S7_0.2.1
## [25] otel_0.2.0 cli_3.6.5 withr_3.0.2 magrittr_2.0.4
## [29] mgcv_1.9-3 digest_0.6.39 grid_4.5.2 rstudioapi_0.17.1
## [33] lifecycle_1.0.4 nlme_3.1-168 vctrs_0.6.5 evaluate_1.0.5
## [37] glue_1.8.0 farver_2.1.2 rmarkdown_2.30 tools_4.5.2
## [41] pkgconfig_2.0.3 htmltools_0.5.9