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
Frase: Este taller me ayudará a crear reportes profesionales de forma eficiente.
R incluye un dataset llamado 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 6 (exploración):
Agrega echo=FALSE dentro de las llaves.
Knit y observa qué cambia.
Ejemplo:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 10.40 15.43 19.20 20.09 22.80 33.90
✅ Ejercicio 7 (5 min):
Completa la frase usando inline R para mostrar la media de
mpg con 2 decimales:
La media de MPG es: r round(mean(mtcars$mpg), 2)
✅ Ejercicio 8 (10 min):
Muestra una tabla con las primeras 8 filas usando
knitr::kable().
knitr::kable(head(mtcars, 8))
| mpg | cyl | disp | hp | drat | wt | qsec | vs | am | gear | carb | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Mazda RX4 | 21.0 | 6 | 160.0 | 110 | 3.90 | 2.620 | 16.46 | 0 | 1 | 4 | 4 |
| Mazda RX4 Wag | 21.0 | 6 | 160.0 | 110 | 3.90 | 2.875 | 17.02 | 0 | 1 | 4 | 4 |
| Datsun 710 | 22.8 | 4 | 108.0 | 93 | 3.85 | 2.320 | 18.61 | 1 | 1 | 4 | 1 |
| Hornet 4 Drive | 21.4 | 6 | 258.0 | 110 | 3.08 | 3.215 | 19.44 | 1 | 0 | 3 | 1 |
| Hornet Sportabout | 18.7 | 8 | 360.0 | 175 | 3.15 | 3.440 | 17.02 | 0 | 0 | 3 | 2 |
| Valiant | 18.1 | 6 | 225.0 | 105 | 2.76 | 3.460 | 20.22 | 1 | 0 | 3 | 1 |
| Duster 360 | 14.3 | 8 | 360.0 | 245 | 3.21 | 3.570 | 15.84 | 0 | 0 | 3 | 4 |
| Merc 240D | 24.4 | 4 | 146.7 | 62 | 3.69 | 3.190 | 20.00 | 1 | 0 | 4 | 2 |
✅ Ejercicio 9 (15 min):
Crea un gráfico de dispersión entre wt (peso) y
mpg.
# TODO:
# 1) Instala/carga ggplot2 si hace falta
# 2) Crea un scatter plot con geom_point()
# Pista: ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point()
library(ggplot2)
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point(color = "blue", size = 3) +
labs(title = "Relación entre Peso y Millas por Galón",
x = "Peso (1000 lbs)",
y = "Millas por Galón") +
theme_minimal()
fig.width, fig.height en
setupfig.width=...
fig.height=...ggplot(mtcars, aes(x = factor(cyl), y = mpg)) +
geom_boxplot() +
labs(title = "MPG por número de cilindros", x = "Cilindros", y = "MPG")
Tu reporte final debe tener: - 2 secciones (con ##) - 2
chunks: - summary de mpg - un gráfico - 1 inline R - 1 tabla con
kable
# 1) Resumen
res <- summary(mtcars$mpg)
# 2) Tabla
tab <- head(mtcars, 10)
res
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 10.40 15.43 19.20 20.09 22.80 33.90
knitr::kable(tab)
| mpg | cyl | disp | hp | drat | wt | qsec | vs | am | gear | carb | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Mazda RX4 | 21.0 | 6 | 160.0 | 110 | 3.90 | 2.620 | 16.46 | 0 | 1 | 4 | 4 |
| Mazda RX4 Wag | 21.0 | 6 | 160.0 | 110 | 3.90 | 2.875 | 17.02 | 0 | 1 | 4 | 4 |
| Datsun 710 | 22.8 | 4 | 108.0 | 93 | 3.85 | 2.320 | 18.61 | 1 | 1 | 4 | 1 |
| Hornet 4 Drive | 21.4 | 6 | 258.0 | 110 | 3.08 | 3.215 | 19.44 | 1 | 0 | 3 | 1 |
| Hornet Sportabout | 18.7 | 8 | 360.0 | 175 | 3.15 | 3.440 | 17.02 | 0 | 0 | 3 | 2 |
| Valiant | 18.1 | 6 | 225.0 | 105 | 2.76 | 3.460 | 20.22 | 1 | 0 | 3 | 1 |
| Duster 360 | 14.3 | 8 | 360.0 | 245 | 3.21 | 3.570 | 15.84 | 0 | 0 | 3 | 4 |
| Merc 240D | 24.4 | 4 | 146.7 | 62 | 3.69 | 3.190 | 20.00 | 1 | 0 | 4 | 2 |
| Merc 230 | 22.8 | 4 | 140.8 | 95 | 3.92 | 3.150 | 22.90 | 1 | 0 | 4 | 2 |
| Merc 280 | 19.2 | 6 | 167.6 | 123 | 3.92 | 3.440 | 18.30 | 1 | 0 | 4 | 4 |
# 3) Grafico
ggplot(mtcars, aes(x = hp, y = mpg)) +
geom_point(aes(color = cyl), size = 3) +
geom_smooth(method = "lm", se = FALSE, color = "darkred") +
labs(title = "Relación entre Caballos de Fuerza y MPG",
x = "Caballos de Fuerza",
y = "Millas por Galón",
color = "Cilindros") +
theme_minimal()
## R version 4.5.1 (2025-06-13 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows 11 x64 (build 26200)
##
## Matrix products: default
## LAPACK version 3.12.1
##
## locale:
## [1] LC_COLLATE=Spanish_Peru.utf8 LC_CTYPE=Spanish_Peru.utf8
## [3] LC_MONETARY=Spanish_Peru.utf8 LC_NUMERIC=C
## [5] LC_TIME=Spanish_Peru.utf8
##
## time zone: America/Lima
## tzcode source: internal
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] ggplot2_4.0.0
##
## loaded via a namespace (and not attached):
## [1] vctrs_0.6.5 nlme_3.1-168 cli_3.6.5 knitr_1.50
## [5] rlang_1.1.6 xfun_0.53 generics_0.1.4 S7_0.2.0
## [9] jsonlite_2.0.0 labeling_0.4.3 glue_1.8.0 htmltools_0.5.8.1
## [13] sass_0.4.10 scales_1.4.0 rmarkdown_2.30 grid_4.5.1
## [17] tibble_3.3.0 evaluate_1.0.5 jquerylib_0.1.4 fastmap_1.2.0
## [21] yaml_2.3.10 lifecycle_1.0.4 compiler_4.5.1 dplyr_1.1.4
## [25] RColorBrewer_1.1-3 pkgconfig_2.0.3 mgcv_1.9-3 rstudioapi_0.17.1
## [29] lattice_0.22-7 farver_2.1.2 digest_0.6.37 R6_2.6.1
## [33] tidyselect_1.2.1 splines_4.5.1 pillar_1.10.2 magrittr_2.0.3
## [37] Matrix_1.7-3 bslib_0.9.0 withr_3.0.2 tools_4.5.1
## [41] gtable_0.3.6 cachem_1.1.0