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.

Completado: El título ya ha sido actualizado a “Taller Básico de R Markdown - Alvaro Puma”


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.

  • Dominar el análisis estadístico y machine learning para aplicaciones empresariales
  • Desarrollar dashboards interactivos que faciliten la toma de decisiones basada en datos
  • Integrar técnicas avanzadas de ciencia de datos en sistemas de gestión empresarial

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 análisis de datos es fundamental para la transformación digital de las empresas modernas.


4 4. Chunks (código en R)

4.1 4.1 Cargar datos de ejemplo

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.


4.2 4.2 Resumen de una variable

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


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.

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.


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:

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.


6 6. Tablas

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)
Primeras 8 filas del dataset mtcars
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.


7 7. Gráficos

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

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


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

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

8.2 8.2 Tabla

# 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"
)
Top 10 vehículos del dataset mtcars - Variables seleccionadas
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

8.3 8.3 Gráfico

# 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:

  1. Los vehículos con 4 cilindros tienen mejor eficiencia de combustible (mayor MPG)
  2. La distribución de MPG muestra una ligera asimetría positiva
  3. Existe una clara segmentación en el consumo según las características del motor

9 9. Checklist antes de entregar

9.1 Conclusión

Este taller demuestra las capacidades de R Markdown para crear reportes reproducibles que integran:

  • Análisis estadístico
  • Visualizaciones profesionales
  • Narrativa técnica
  • Automatización de resultados

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