1 1. ¿Qué es R Markdown?

R Markdown combina: - Texto explicativo - Código en R - Resultados (tablas y gráficos)

Objetivo taller: generar un reporte reproducible con Knit.


2 2. Estructura de un .Rmd

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


3 3. Markdown esencial

3.1 3.1 Títulos y listas

Ejercicio 2 (5–10 min):
Escribe una mini-lista con 3 objetivos personales del curso.

  • Aprender a usar R Markdown
  • Generar reportes reproducibles
  • Crear tablas y gráficos en R

3.2 3.2 Negrita y cursiva

Ejercicio 3 (3 min):
Escribe una frase y resalta una palabra en negrita y otra en cursiva.

Frase: El objetivo del curso es poder aprender R Markdown y aplicarla de forma práctica.


4 4. Chunks (código en R)

4.1 4.1 Cargar datos de ejemplo

R incluye un dataset llamado mtcars.

set.seed(123)  

mtcars <- data.frame(
  mpg  = round(runif(32, 10, 35), 1), 
  cyl  = sample(c(4, 6, 8), 32, replace = TRUE),
  disp = round(runif(32, 70, 500), 1),
  hp   = round(runif(32, 50, 350)),
  drat = round(runif(32, 2.5, 4.5), 2),
  wt   = round(runif(32, 1.5, 5.5), 2),
  qsec = round(runif(32, 14, 23), 2),
  vs   = sample(0:1, 32, replace = TRUE),
  am   = sample(0:1, 32, replace = TRUE),
  gear = sample(3:5, 32, replace = TRUE),
  carb = sample(1:8, 32, replace = TRUE)
)

mtcars
##     mpg cyl  disp  hp drat   wt  qsec vs am gear carb
## 1  17.2   8 340.6 336 3.82 2.38 19.16  1  0    4    1
## 2  29.7   6 375.4 195 4.14 3.15 16.15  1  1    4    5
## 3  20.2   4  70.3 317 4.07 2.56 22.66  0  0    4    5
## 4  32.1   8 274.4 324 4.46 4.02 19.41  1  1    5    1
## 5  33.5   8 164.7 233 3.38 2.24 18.64  1  0    3    8
## 6  11.1   4 233.3 173 3.12 4.95 17.62  1  0    4    7
## 7  23.2   8 333.5  94 3.32 4.49 21.92  1  0    4    1
## 8  32.3   6 221.3 331 2.52 4.17 17.28  1  0    3    5
## 9  23.8   4 117.8 140 2.87 3.97 16.59  0  0    4    5
## 10 21.4   8 174.8  68 4.19 2.99 15.54  0  0    3    2
## 11 33.9   4 357.3 334 2.96 3.62 15.55  1  1    3    2
## 12 21.3   4 249.6 266 2.98 5.00 18.34  0  0    4    7
## 13 26.9   6 408.9  93 2.65 3.83 16.28  1  1    5    6
## 14 24.3   8 114.2 215 2.99 4.86 15.95  0  0    3    7
## 15 12.6   8 257.0 336 3.96 2.75 20.07  0  0    5    5
## 16 32.5   4 493.5 226 4.19 4.33 14.43  0  0    3    1
## 17 16.2   8 454.0 171 3.50 2.56 20.31  1  0    4    8
## 18 11.1   4 451.2 244 3.28 3.88 17.17  1  1    3    1
## 19 18.2   8 145.3 146 2.99 3.43 17.68  1  1    4    5
## 20 33.9   6 126.2 142 2.72 2.56 21.39  0  0    4    5
## 21 32.2   4 350.8 116 3.28 3.76 22.27  1  0    4    4
## 22 27.3   6 217.7 161 3.64 5.15 16.54  1  0    5    7
## 23 26.0   4 352.4 345 2.93 5.11 22.65  0  1    3    5
## 24 34.9   4 207.8  96 3.39 2.60 20.56  0  1    3    8
## 25 26.4   8 150.7  77 2.94 2.79 20.18  0  1    3    5
## 26 27.7   4 406.4  93 3.50 5.44 14.48  0  0    3    7
## 27 23.6   6 110.2 257 3.21 3.98 17.56  0  1    5    7
## 28 24.9   4 270.7 236 3.80 5.25 18.30  1  0    3    4
## 29 17.2   4 289.9 317 3.25 3.37 19.04  0  0    4    2
## 30 13.7   8 328.0 252 3.21 3.13 20.28  1  0    3    5
## 31 34.1   4 213.1 271 3.57 4.14 22.24  1  0    4    1
## 32 32.6   6 280.1 206 3.98 2.11 19.57  1  0    4    1
head(mtcars)
##    mpg cyl  disp  hp drat   wt  qsec vs am gear carb
## 1 17.2   8 340.6 336 3.82 2.38 19.16  1  0    4    1
## 2 29.7   6 375.4 195 4.14 3.15 16.15  1  1    4    5
## 3 20.2   4  70.3 317 4.07 2.56 22.66  0  0    4    5
## 4 32.1   8 274.4 324 4.46 4.02 19.41  1  1    5    1
## 5 33.5   8 164.7 233 3.38 2.24 18.64  1  0    3    8
## 6 11.1   4 233.3 173 3.12 4.95 17.62  1  0    4    7

Ejercicio 4: Ejecuta este chunk y luego Knit.

4.2 4.2 Resumen de una variable

summary(mtcars$mpg)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   11.10   19.70   25.45   24.88   32.23   34.90

Ejercicio 5: Knit y revisa el resultado.


4.3 4.3 Opciones de chunks

Ejercicio 6 (exploración): 1) En el chunk de arriba, agrega echo=FALSE dentro de las llaves. 2) Knit y observa qué cambia.

Ejemplo:


```
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   11.10   19.70   25.45   24.88   32.23   34.90
```

5 5. Inline R (código dentro del texto)

Ejercicio 7 (5 min):
Completa la frase usando inline R para mostrar la media de mpg con 2 decimales:

5.1 La media de MPG es: 24.88

6 6. Tablas

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
17.2 8 340.6 336 3.82 2.38 19.16 1 0 4 1
29.7 6 375.4 195 4.14 3.15 16.15 1 1 4 5
20.2 4 70.3 317 4.07 2.56 22.66 0 0 4 5
32.1 8 274.4 324 4.46 4.02 19.41 1 1 5 1
33.5 8 164.7 233 3.38 2.24 18.64 1 0 3 8
11.1 4 233.3 173 3.12 4.95 17.62 1 0 4 7
23.2 8 333.5 94 3.32 4.49 21.92 1 0 4 1
32.3 6 221.3 331 2.52 4.17 17.28 1 0 3 5

7 7. Gráficos

Ejercicio 9 (15 min):
Crea un gráfico de dispersión entre wt (peso) y mpg.

library(ggplot2)

ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point() +
  labs(
    title = "Relación entre peso y consumo",
    x = "Peso (wt)",
    y = "Millas por galón (mpg)"
  )


8 8. Actividad final (integrador)

Tu reporte final debe tener: - 2 secciones (con ##) - 2 chunks: - summary de mpg - un gráfico - 1 inline R - 1 tabla con kable

8.1 8.1 Resultados numéricos

summary(mtcars$mpg)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   11.10   19.70   25.45   24.88   32.23   34.90

8.2 8.2 Tabla

knitr::kable(head(mtcars, 10))
mpg cyl disp hp drat wt qsec vs am gear carb
17.2 8 340.6 336 3.82 2.38 19.16 1 0 4 1
29.7 6 375.4 195 4.14 3.15 16.15 1 1 4 5
20.2 4 70.3 317 4.07 2.56 22.66 0 0 4 5
32.1 8 274.4 324 4.46 4.02 19.41 1 1 5 1
33.5 8 164.7 233 3.38 2.24 18.64 1 0 3 8
11.1 4 233.3 173 3.12 4.95 17.62 1 0 4 7
23.2 8 333.5 94 3.32 4.49 21.92 1 0 4 1
32.3 6 221.3 331 2.52 4.17 17.28 1 0 3 5
23.8 4 117.8 140 2.87 3.97 16.59 0 0 4 5
21.4 8 174.8 68 4.19 2.99 15.54 0 0 3 2

8.3 8.3 Gráfico

library(ggplot2)

ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point(color = "steelblue", size = 2) +
  labs(
    title = "Relación entre peso y consumo de combustible",
    x = "Peso del vehículo (wt)",
    y = "Millas por galón (mpg)"
  ) +
  theme_minimal()


9 9. Checklist antes de entregar

## R version 4.5.2 (2025-10-31)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 20.04.6 LTS
## 
## Matrix products: default
## BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/liblapack.so.3;  LAPACK version 3.9.0
## 
## locale:
##  [1] LC_CTYPE=C.UTF-8       LC_NUMERIC=C           LC_TIME=C.UTF-8       
##  [4] LC_COLLATE=C.UTF-8     LC_MONETARY=C.UTF-8    LC_MESSAGES=C.UTF-8   
##  [7] LC_PAPER=C.UTF-8       LC_NAME=C              LC_ADDRESS=C          
## [10] LC_TELEPHONE=C         LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C   
## 
## time zone: UTC
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] ggplot2_4.0.1
## 
## loaded via a namespace (and not attached):
##  [1] vctrs_0.6.5        cli_3.6.5          knitr_1.50         rlang_1.1.6       
##  [5] xfun_0.55          S7_0.2.1           jsonlite_2.0.0     glue_1.8.0        
##  [9] labeling_0.4.3     htmltools_0.5.9    sass_0.4.10        scales_1.4.0      
## [13] rmarkdown_2.30     grid_4.5.2         evaluate_1.0.5     jquerylib_0.1.4   
## [17] fastmap_1.2.0      yaml_2.3.12        lifecycle_1.0.4    compiler_4.5.2    
## [21] RColorBrewer_1.1-3 rstudioapi_0.17.1  farver_2.1.2       digest_0.6.39     
## [25] R6_2.6.1           bslib_0.9.0        tools_4.5.2        withr_3.0.2       
## [29] gtable_0.3.6       cachem_1.1.0