Ciencia de Datos: Análisis de Datos con R

Programa del curso — 6 sesiones × 2 horas

Autor/a

Manuel Spínola

Fecha de publicación

18 de marzo de 2026

1 Información general

Modalidad Virtual (sincrónica)
Fechas

Martes y jueves

2,4, 9,11, 16, 18 de junio 2026

Horario 17.00 a 19.00
Duración 6 sesiones × 2 horas
Plataforma Zoom
Instructor Manuel Spínola (mspinola@una.cr)
Contacto Yoselyn Díaz (asistentecontableicomvis@una.ac.cr)
Inversión $102,00

2 Descripción general

Este curso cubre los fundamentos del análisis de datos con R, con énfasis en modelos estadísticos y la estimación de efectos e intervalos de confianza como base para la inferencia, en lugar del enfoque tradicional centrado en valores p. A lo largo de 6 sesiones de 2 horas, los participantes aprenderán a explorar, modelar, interpretar y comunicar resultados estadísticos, desde la estadística descriptiva, modelos lineales generales y generalizados, modelos aditivos generalizados y una introducción al machine learning (aprendizaje automático).


3 Objetivos del curso

Al finalizar el curso, los participantes serán capaces de:

  • Describir y visualizar distribuciones de datos
  • Estimar correlaciones e interpretar su magnitud e incertidumbre
  • Ajustar e interpretar modelos lineales generales y generalizados
  • Aplicar modelos aditivos generalizados (GAM) para relaciones no lineales
  • Construir y evaluar modelos de machine learning
  • Comunicar resultados estadísticos con énfasis en estimación usando easystats

4 Enfoque estadístico

Este curso adopta un enfoque basado en estimación en lugar de la dicotomía significativo/no significativo. El énfasis está en:

  • Tamaños de efecto — ¿qué tan grande es el efecto?
  • Intervalos de confianza — ¿cuál es la incertidumbre de la estimación?
  • Relevancia práctica — ¿el efecto es biológicamente o prácticamente importante?

El paquete easystats sirve como hilo conductor para la estimación, reporte e interpretación de modelos a lo largo del curso.


5 Estructura del curso

Sesión Tema
1 Estadística descriptiva y distribuciones
2 Correlaciones e intervalos de confianza
3 Regresión lineal simple y múltiple
4 Modelos lineales generalizados (GLM)
5 Modelos aditivos generalizados (GAM)
6 Introducción a Machine Learning

6 Sesión 1 — Estadística descriptiva y distribuciones

Duración: 2 horas

Objetivos:

  • Calcular e interpretar estadísticos descriptivos
  • Visualizar distribuciones y detectar patrones
  • Identificar la distribución adecuada para distintos tipos de datos

Contenidos:

  • Estadísticos de tendencia central: media, mediana, moda
  • Estadísticos de dispersión: desviación estándar, IQR, rango
  • Visualización de distribuciones: histogramas, densidades, boxplots, violines
  • Distribuciones comunes y sus aplicaciones:
    • Normal — variables continuas simétricas
    • Binomial — datos de presencia/ausencia
    • Poisson — conteos
    • Beta — proporciones
  • Detección de valores atípicos
  • Reporte descriptivo easystats::describe_distribution()

Paquetes introducidos: easystats

Ejercicio práctico: Explorar la distribución de variables bioclimáticas y de riqueza de especies, identificar la distribución más adecuada para cada una y calcular estadísticos descriptivos con easystats.


7 Sesión 2 — Correlaciones e intervalos de confianza

Duración: 2 horas

Objetivos:

  • Estimar correlaciones entre variables continuas
  • Interpretar la magnitud de una correlación con intervalos de confianza
  • Visualizar matrices de correlación

Contenidos:

  • Correlación de Pearson y Spearman: cuándo usar cada una
  • Estimación con intervalos de confianza: correlation::correlation()
  • Interpretación de la magnitud: convenciones de Cohen
  • Visualización de matrices de correlación
  • Multicolinealidad: detección con VIF

Paquetes introducidos: correlation

Ejercicio práctico: Calcular una matriz de correlación entre variables predictoras con intervalos de confianza, visualizarla e identificar variables con alta multicolinealidad.


8 Sesión 3 — Regresión lineal simple y múltiple

Duración: 2 horas

Objetivos:

  • Ajustar e interpretar modelos de regresión lineal
  • Reportar coeficientes con intervalos de confianza y tamaños de efecto
  • Evaluar el ajuste y los supuestos del modelo

Contenidos:

  • Regresión lineal simple: ajuste con lm()
  • Interpretación de coeficientes como estimaciones de efecto
  • Intervalos de confianza con parameters::model_parameters()
  • Regresión múltiple: selección y interpretación de predictores
  • Comparación de modelos con performance::compare_performance()
  • Evaluación del ajuste: R², R² ajustado con performance::r2()
  • Diagnóstico de supuestos con performance::check_model()
  • Estandarización de coeficientes para comparación: effectsize
  • Visualización de efectos con ggeffects

Paquetes introducidos: parameters, performance, effectsize, ggeffects

Ejercicio práctico: Ajustar un modelo de regresión múltiple y reportar los coeficientes con intervalos de confianza y evaluar los supuestos del modelo.


9 Sesión 4 — Modelos lineales generalizados (GLM)

Duración: 2 horas

Objetivos:

  • Comprender la estructura de un GLM y cuándo usarlo
  • Ajustar modelos para datos de presencia/ausencia y conteos
  • Interpretar coeficientes en escala original

Contenidos:

  • Estructura de un GLM: familia, función de enlace y predictor lineal
  • GLM binomial (logístico): datos de presencia/ausencia
    • Ajuste con glm(family = binomial)
    • Interpretación de coeficientes en escala logit y probabilidad
    • Odds ratios e intervalos de confianza
  • GLM Poisson: datos de conteo
    • Ajuste con glm(family = poisson)
    • Sobredispersión: detección y solución con glm(family = quasipoisson)
  • Evaluación del ajuste: devianza, AIC, performance::check_model()
  • Reporte de resultados con parameters::model_parameters(exponentiate = TRUE)
  • Visualización de efectos marginales con ggeffects

Paquetes introducidos: ggeffects

Ejercicio práctico: Ajustar un modelo logístico e interpretar los coeficientes como cambios en probabilidad y visualizar los efectos marginales.


10 Sesión 5 — Modelos aditivos generalizados (GAM)

Duración: 2 horas

Objetivos:

  • Comprender cuándo y por qué usar GAM en lugar de GLM
  • Ajustar GAM con términos suavizados
  • Interpretar y visualizar relaciones no lineales

Contenidos:

  • Limitaciones del GLM: relaciones no lineales en ecología
  • Estructura de un GAM: términos suavizados s()
  • Tipos de suavizadores: thin plate (tp), shrinkage (ts)
  • Ajuste con mgcv::gam()
  • Selección automática con select = TRUE
  • Interpretación de grados de libertad efectivos (edf)
  • Evaluación del ajuste: devianza explicada, R² ajustado
  • Visualización de efectos suavizados con gratia y ggeffects

Paquetes introducidos: mgcv, gratia

Ejercicio práctico: Ajustar un GAM y compararlo con un GLM equivalente y visualizar la relación no lineal estimada.


11 Sesión 6 — Introducción a Machine Learning con Random Forest

Duración: 2 horas

Objetivos:

  • Comprender la lógica del aprendizaje automático supervisado
  • Ajustar y evaluar un modelo de Random Forest con tidymodels
  • Interpretar la importancia de variables

Contenidos:

  • Aprendizaje automático supervisado vs análisis estadístico: diferencias y usos
  • Árboles de decisión: fundamentos
  • Random Forest: ensamblaje de árboles y reducción de varianza
  • Flujo de trabajo con tidymodels:
    • División de datos: initial_split()
    • Receta: recipe()
    • Especificación del modelo: rand_forest() con ranger
    • Workflow: workflow()
    • Validación cruzada: vfold_cv()
  • Métricas de evaluación: AUC-ROC, accuracy, RMSE
  • Importancia de variables con vip
  • Comparación con GLM: ¿cuándo usar cada enfoque?

Paquetes introducidos: tidymodels, ranger, vip

Proyecto integrador: Cada participante ajusta un modelo estadístico (GLM, GAM o Random Forest) a un conjunto de datos de su elección, reporta los resultados con énfasis en estimación e intervalos de confianza, y genera un reporte reproducible en Quarto.


12 Requisitos

  • Computadora personal con última versión de R y RStudio instalados

12.1 Instalación de paquetes

install.packages(c(
  "tidyverse",
  "easystats",
  "correlation",
  "ggeffects",
  "mgcv",
  "gratia",
  "tidymodels",
  "ranger",
  "vip",
  "here"
))

13 Referencias

Burnham, K.P. & Anderson, D.R. (2002). Model Selection and Multimodel Inference (2nd ed.). Springer.

Hastie, T., Tibshirani, R. & Friedman, J. (2009). The Elements of Statistical Learning (2nd ed.). Springer. https://hastie.su.domains/ElemStatLearn/

Lüdecke, D. et al. (2021). easystats: Framework for Easy Statistical Modeling, Visualization, and Reporting. CRAN. https://easystats.github.io/easystats/

Kuhn, M. & Wickham, H. (2020). Tidymodels: a collection of packages for modeling and machine learning using tidyverse principles. https://www.tidymodels.org

Wood, S.N. (2017). Generalized Additive Models: An Introduction with R (2nd ed.). CRC Press.

Wickham, H., Çetinkaya-Rundel, M. & Grolemund, G. (2023). R for Data Science (2nd ed.). O’Reilly. https://r4ds.hadley.nz