Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Fundamentos de Python y R : Conceptos y Aplicac...

Fundamentos de Python y R : Conceptos y Aplicaciones

Avatar for Abraham Zamudio

Abraham Zamudio

October 13, 2026

More Decks by Abraham Zamudio

Other Decks in Education

Transcript

  1. Silabo del curso Fundamentos de Python y R : Conceptos

    y Aplicaciones 2026 ​ Profesor Abraham Zamudio
  2. 1.​ Datos generales del curso Asignatura: Fundamentos de Python y

    R : Conceptos y Aplicaciones Horas: Módulo I (36 horas) | Módulo II (33 horas) 2.​ Presentación El curso Fundamentos de Python y R: Conceptos y Aplicaciones representa una introducción rigurosa, progresiva y eminentemente práctica al uso de dos de los lenguajes más importantes en la ciencia de datos, la estadística aplicada y la programación científica. Su diseño responde a la necesidad actual de formar profesionales capaces no solo de comprender conceptos estadísticos y computacionales, sino también de implementarlos en entornos reales de análisis, automatización, modelamiento y visualización. A lo largo de dos módulos complementarios, el participante recorrerá desde los fundamentos sintácticos y lógicos de Python y R hasta aplicaciones avanzadas en estadística descriptiva, inferencia, regresión, series de tiempo, simulación y programación estadística. El curso no se limita a la exposición teórica de herramientas, sino que articula cada concepto con laboratorios, casos de estudio y resolución de problemas concretos, de modo que el aprendizaje se consolide mediante la práctica constante y la interpretación de resultados. El primer módulo, dedicado a los fundamentos de Python, está estructurado para que el estudiante construya una base sólida de programación antes de adentrarse en el análisis de datos y la estadística computacional. Se inicia con el entorno de trabajo y los primeros pasos en Python, el reconocimiento de tipos de datos, operadores y funciones de entrada y salida. Posteriormente se profundiza en la función input, la función print y el formateo de texto, elementos esenciales para la interacción básica con el usuario y la presentación ordenada de resultados. Luego se aborda el control de flujo mediante estructuras de decisión if/elif/else, estructuras de repetición while/for y la estructura else, lo que permite al estudiante diseñar algoritmos con lógica condicional y repetitiva. Estas capacidades se refuerzan con un laboratorio orientado a la implementación de métodos numéricos, donde la teoría computacional se traduce en soluciones ejecutables y verificables. A medida que avanza el módulo, el curso introduce estructuras de datos fundamentales como listas, tuplas, diccionarios y conjuntos, herramientas indispensables para organizar, almacenar y manipular información de manera eficiente. Después se estudian funciones y modularidad, incluyendo el uso de la palabra reservada def, parámetros posicionales y nombrados, y funciones lambda. Este bloque permite que el participante deje de escribir scripts lineales y comience a construir programas reutilizables, legibles y mejor estructurados. Más adelante se incorpora NumPy y el cálculo vectorizado, con temas como creación de arrays, operaciones elemento a elemento, estadísticas descriptivas, reducción de dimensiones y análisis de ejes, mínimos cuadrados matriciales y resolución de sistemas sobredeterminados. Esta sección es particularmente relevante porque conecta la programación con el álgebra lineal y la estadística, preparando el terreno para aplicaciones más complejas. Abraham Zamudio
  3. La formación en Python continúa con Pandas, donde se estudian

    Series y DataFrame, carga de datos, exploración inicial, detección de nulos, selección de columnas, filtros booleanos, manejo de fechas, ordenamiento y agrupamiento. Estas competencias son centrales para el análisis exploratorio de datos y para la preparación de información antes del modelamiento. Luego se trabaja con Matplotlib, abordando la estructura de una figura mediante Figure y Axes, la API orientada a objetos, la personalización de ejes, límites, ticks y escalas, así como colores, paletas, estilos de línea, marcadores, grosores, títulos, etiquetas, leyendas y anotaciones. Se revisan gráficos compuestos con subplots y tight_layout, y la integración con Pandas para construir gráficos de línea, dispersión, barras e histogramas desde DataFrames. Esta parte fortalece la capacidad de comunicar hallazgos mediante visualizaciones claras y profesionales. Posteriormente, el curso introduce SciPy.stats y el análisis estadístico, cubriendo distribuciones, funciones de densidad, funciones acumuladas y cuantiles, pruebas de hipótesis paramétricas como la prueba t de Student para una y dos muestras independientes, la prueba de Chi-cuadrado para bondad de ajuste e independencia, y la estimación de densidad no paramétrica mediante Kernel Density Estimation, incluyendo la selección de ancho de banda. Finalmente, el módulo cierra con regresión lineal y diagnóstico usando Statsmodels, donde se estudia el modelo de Mínimos Cuadrados Ordinarios, su formulación matricial, los supuestos de Gauss-Markov, el análisis de residuos crudos, estandarizados y studentizados, los gráficos de diagnóstico como residuos versus ajustados, Q-Q plot y escala-localización, las métricas de bondad de ajuste, la interpretación de coeficientes e intervalos de confianza, y la predicción puntual y por intervalos. Este recorrido permite que el estudiante no solo ajuste modelos, sino que evalúe críticamente su validez y utilidad. El segundo módulo, orientado a los fundamentos de R, complementa y amplía la formación anterior desde una perspectiva estadística y de manipulación de datos igualmente potente. Comienza con el entorno R y RStudio, instalación y configuración, proyectos, scripts y RMarkdown, tipos de datos, vectores, matrices, arrays, factores y variables categóricas, operaciones básicas, funciones matemáticas, indexado, slicing y reciclaje. Luego se abordan estructuras de datos y control de flujo, incluyendo data frames, listas, if, else, for, while, escritura de funciones propias, funciones básicas como apply, lapply, sapply y tapply, introducción al pipe y lectura y escritura de archivos CSV. Con ello se busca que el estudiante adquiera autonomía para manipular datos y automatizar tareas en R. El curso continúa con Tidyverse I, centrado en la manipulación de datos mediante dplyr, tidyr, readr y lubridate. Se estudian funciones como filter, select, mutate, group_by, summarise y join; pivot_longer, pivot_wider, separate y unite; lectura eficiente de CSV y URLs; manejo de valores faltantes; y operaciones con fechas y series de tiempo. Después se desarrolla Tidyverse II, dedicado a la visualización con ggplot2, donde se revisa la gramática de gráficos, datos, estéticas y geometrías, histogramas, boxplots, dispersión y líneas, personalización de títulos, ejes, leyendas y colores, facetas con facet_wrap y facet_grid, gráficos de ECDF y densidad, y guardado de gráficos en alta resolución. Esta sección es fundamental para el análisis exploratorio y la comunicación visual de resultados. Más adelante se estudia estadística descriptiva y distribuciones en R, con medidas de tendencia central y dispersión, cuantiles y percentiles, correlación y covarianza, tablas de frecuencia, distribuciones dnorm, pnorm, qnorm y rnorm, función de distribución empírica y estimación de densidad. Luego se aborda simulación, inferencia y pruebas de hipótesis, incluyendo generación de números aleatorios, Abraham Zamudio
  4. pruebas t, varianza, Chi-cuadrado y binomial, pruebas de normalidad, intervalos

    de confianza, cálculo de potencia y tamaño de muestra, y bootstrap manual. El módulo también cubre modelos lineales y diagnóstico, con fórmulas, ajuste con lm(), resumen con summary(), ANOVA, predicción, diagnóstico de residuos, distancia de Cook e influencia, y paquetes car y lmtest. Finalmente, se introducen la adquisición de datos y análisis exploratorio avanzado, la flexibilización del modelo lineal mediante GLS, regresión cuantílica y cópulas, la econometría de series de tiempo con ts, xts, zoo, raíces unitarias, cointegración y modelos de corrección de errores, y la programación estadística con optimización, bootstrap, Monte Carlo, cálculo de MLE y CRLB empírica. En conjunto, el curso ofrece una formación integral que combina programación, estadística, visualización y modelamiento. Su metodología dinámica e interactiva relaciona cada concepto teórico con casos prácticos y laboratorios, promoviendo que el participante resuelva problemas y presente soluciones según esquemas metodológicos definidos. Así, al finalizar, el estudiante habrá desarrollado competencias para usar Python y R como herramientas de análisis, automatización, inferencia y comunicación de resultados, con una base sólida para continuar en ciencia de datos, econometría, investigación aplicada o desarrollo profesional. 3.​ Objetivo general del curso Capacitar al estudiante en el uso integrado de Python y R como herramientas fundamentales para la programación científica, el análisis estadístico, la manipulación y visualización de datos, la inferencia y el modelamiento, mediante un enfoque teórico-práctico que le permita resolver problemas reales, implementar métodos numéricos y estadísticos, diagnosticar modelos y comunicar resultados de manera rigurosa, reproducible y orientada a la toma de decisiones. 4.​ Objetivos específicos del curso •​ Dominar los fundamentos de programación en Python: tipos de datos, operadores, entrada/salida, control de flujo, estructuras de datos, funciones y modularidad. •​ Aplicar Python al análisis de datos y cálculo científico mediante NumPy, Pandas y Matplotlib, incluyendo estadísticas descriptivas, manipulación de datos y visualización. •​ Utilizar SciPy.stats y Statsmodels para pruebas de hipótesis, estimación de densidad, regresión lineal, diagnóstico de modelos y predicción. •​ Dominar los fundamentos de R y RStudio: estructuras de datos, control de flujo, funciones, lectura y escritura de archivos, y programación básica. •​ Aplicar Tidyverse en R para manipulación, transformación y visualización de datos con dplyr, tidyr, readr, lubridate y ggplot2. •​ Realizar análisis estadístico, inferencial y modelamiento en R: descriptivos, distribuciones, pruebas de hipótesis, simulación, modelos lineales, series de tiempo y programación estadística. 5.​ Resultados de aprendizaje Al finalizar el curso, el alumno será capaz de utilizar Python y R de manera integrada para programar, procesar, analizar y visualizar datos; aplicar métodos estadísticos descriptivos e inferenciales; ajustar, diagnosticar e interpretar modelos Abraham Zamudio
  5. lineales, de regresión y de series de tiempo; y automatizar

    tareas mediante funciones, simulación, bootstrap y programación estadística. Asimismo, podrá formular soluciones reproducibles a problemas reales, comunicar resultados con claridad y sustentar decisiones basadas en evidencia cuantitativa, con dominio de herramientas como NumPy, Pandas, Matplotlib, SciPy, Statsmodels, Tidyverse, ggplot2 y paquetes econométricos de R. 6.​ Metodología El desarrollo de las sesiones se efectuará mediante exposiciones del profesor, las mismas que se manejan en forma dinámica e interactiva con los alumnos, relacionando cada uno de los conceptos teóricos con casos prácticos. Asimismo, se aplicarán casos de estudio durante el desarrollo del curso con la finalidad de que los participantes resuelvan y presenten soluciones de acuerdo al esquema metodológico asignado por el profesor del curso. 7.​ Contenido por Sesiones: # DE HORAS CONTENIDO Módulo I : Fundamentos de Python 3hrs Python : Entorno y primeros pasos •​ Tipos de datos •​ Operadores •​ Funciones de Entrada y Salida 3hrs Python : Funciones de Entrada y Salida •​ La función input •​ La función print ◦​ Formateo de texto 3hrs Python : Control de flujo (I) •​ Estructuras de decisión : if/elif/else •​ Estructuras de repetición : while/for ◦​ Estructura else 3hrs Python •​ Laboratorio : Implementacion de metodos numericos 3hrs Python : Estructuras de datos (I) •​ listas •​ tuplas Abraham Zamudio
  6. 3hrs Python : Estructuras de datos (II) •​ Diccionarios •​

    Conjuntos 3hrs Python : Funciones y Modularidad •​ Uso de la palabra reservada def •​ Parámetros posicionales y nombrados •​ funciones lambda 3hrs Python : NumPy y cálculo vectorizado •​ Creación de arrays y operaciones ◦​ Sintaxis, memoria y operaciones elemento a elemento •​ Estadísticas descriptivas ◦​ Reducción de dimensiones y análisis de ejes (axis) •​ Mínimos cuadrados matriciales ◦​ Resolución de sistemas sobredeterminados y aplicación real 3hrs Pandas : Series y DataFrame •​ Funciones de carga de datos •​ Funciones de exploración inicial y detección de nulos •​ Selección de Columnas y filtros booleanos •​ Manejo de fechas •​ Ordenamiento y Agrupamiento 3hrs 3hrs Python: Matplotlib •​ Estructura de una figura: Figure y Axes (API orientada a objetos) •​ Personalización de Ejes ◦​ Límites (xlim, ylim), ticks (xticks, yticks) y escalas (lineal, logarítmica) •​ Personalización Estética ◦​ Colores, paletas, estilos de línea (linestyle), marcadores y grosores ◦​ Títulos, etiquetas de ejes, leyendas y anotaciones •​ Gráficos Compuestos ◦​ Uso de subplots() para múltiples gráficos y tight_layout() •​ Integración con Pandas ◦​ Gráficos de línea, dispersión (scatter), barras e histogramas desde DataFrames Python: SciPy.stats y Análisis Estadístico •​ Teoría: scipy.stats (Distribuciones, funciones de densidad pdf, acumuladas cdf y cuantiles ppf) •​ Pruebas de hipótesis paramétricas ◦​ Prueba t de Student (una muestra, dos muestras independientes) ◦​ Prueba de Chi-cuadrado (bondad de ajuste e independencia) •​ Estimación de densidad no paramétrica ◦​ Kernel Density Estimation (KDE) y selección de ancho de banda •​ Laboratorio Abraham Zamudio
  7. 3hrs Python: Regresión Lineal y Diagnóstico (Statsmodels) •​ Teoría: Modelo

    de Mínimos Cuadrados Ordinarios (OLS) ◦​ Formulación matricial: ◦​ Supuestos de Gauss-Markov (linealidad, homocedasticidad, no autocorrelación, normalidad de residuos) •​ Residuos y Diagnóstico ◦​ Residuos crudos, estandarizados y studentizados ◦​ Análisis gráfico: residuos vs. ajustados, Q-Q plot, escala-localización ◦​ Métricas de bondad de ajuste •​ Predicción e Inferencia ◦​ Interpretación de coeficientes y sus intervalos de confianza ◦​ Predicción puntual y por intervalos (confianza vs. predicción) •​ Laboratorio Módulo II : Fundamentos de R 3hrs R: Entorno R y RStudio + Fundamentos de R •​ Instalación y configuración de R y RStudio •​ Proyectos, scripts y RMarkdown •​ Tipos de datos: numéricos, caracteres, lógicos •​ Vectores, matrices y arrays •​ Factores y variables categóricas •​ Operaciones básicas y funciones matemáticas •​ Indexado, slicing y reciclaje 3hrs R: Estructuras de datos y control de flujo •​ Data frames: creación, indexado y manipulación •​ Listas y su aplicación •​ Control de flujo: if, else, for, while •​ Escritura de funciones propias •​ Funciones básicas: apply, lapply, sapply, tapply •​ Introducción al pipe |> y %>% •​ Lectura y escritura de archivos CSV 3hrs R: Tidyverse I – Manipulación de datos •​ dplyr: filter, select, mutate, group_by, summarise, join •​ tidyr: pivot_longer, pivot_wider, separate, unite •​ readr: lectura eficiente de CSV y URLs •​ Manejo de valores faltantes (NA) •​ Operaciones con fechas y series de tiempo (lubridate) 3hrs R: Tidyverse II – Visualización con ggplot2 •​ Gramática de gráficos: datos, estéticas, geometrías •​ Histogramas, boxplots, dispersión, líneas •​ Personalización: títulos, ejes, leyendas, colores •​ Facetas (facet_wrap, facet_grid) Abraham Zamudio
  8. •​ Gráficos de ECDF y densidad •​ Guardado de gráficos

    en alta resolución 3hrs R: Estadística descriptiva y distribuciones •​ Medidas de tendencia central y dispersión: mean, median, var, sd, IQR •​ Cuantiles y percentiles: quantile •​ Correlación y covarianza: cor, cov •​ Tablas de frecuencia: table, prop.table •​ Distribuciones en R: dnorm, pnorm, qnorm, rnorm •​ Función de distribución empírica: ecdf •​ Estimación de densidad: density 3hrs R: Simulación, inferencia y pruebas de hipótesis •​ Generación de números aleatorios: set.seed, sample, rbinom, etc. •​ Pruebas de hipótesis: t.test, var.test, chisq.test, binom.test •​ Pruebas de normalidad: ks.test, shapiro.test •​ Intervalos de confianza •​ Cálculo de potencia y tamaño de muestra: paquete pwr •​ Bootstrap manual con sample 3hrs R: Modelos lineales y diagnóstico •​ Fórmula y ~ x1 + x2 •​ Ajuste con lm(), resumen con summary() •​ ANOVA y descomposición de varianza •​ Predicción: predict() •​ Diagnóstico de residuos: resid(), fitted(), plot(modelo) •​ Distancia de Cook e influencia: cooks.distance(), influence.measures() •​ Paquetes car y lmtest para diagnóstico avanzado 3hrs 3hrs 3hrs R: Adquisición de datos y análisis exploratorio avanzado •​ Descarga de datos e importación: quantmod, wbstats, fredr •​ Datasets económicos: Ecdat, ISLR •​ Asimetría y curtosis: e1071 •​ Tablas de contingencia y mosaicos: vcd R: Flexibilización del modelo lineal •​ Mínimos cuadrados generalizados: nlme::gls •​ Regresión cuantílica: quantreg •​ Cópulas y dependencia no lineal: paquete copula R: Econometría de series de tiempo •​ Series de tiempo: ts, xts, zoo •​ Dinámica y pruebas de raíces unitarias: tseries, urca •​ Cointegración y modelos de corrección de errores: urca 3hrs Abraham Zamudio
  9. R: Programación estadística •​ Optimización: optim, nlm, Deriv •​ Bootstrap

    y Monte Carlo •​ Cálculo de MLE y CRLB empírica ​ •​ Prerrequisitos: •​ Matemáticas fundamentales: álgebra elemental, álgebra lineal (vectores, matrices, operaciones y sistemas de ecuaciones) y cálculo básico.​ 8.​ Bibliografía •​ Wes, M. (2022). Python for Data Analysis: Data Wrangling with Pandas, NumPy, and Jupyter. •​ VanderPlas, J. (2016). Python data science handbook: Essential tools for working with data. " O'Reilly Media, Inc.". •​ Führer, C., Fuhrer, C., Solem, J. E., & Verdier, O. (2021). Scientific Computing with •​ •​ •​ •​ •​ Python: High-performance scientific computing with NumPy, SciPy, and pandas. Packt Publishing Ltd. Pine, D. J. (2024). Introduction to Python for science and engineering. CRC press. Pawlik, Ł. (2025). R for Data Science: Functionality and Basic Concepts. In R Applications in Earth Sciences: From Soil Data to Climate Time Series Analysis and Modeling (pp. 25-43). Cham: Springer Nature Switzerland. Lorente-Casalini, O., Rodes-Blanco, M., Aguirre-Iglesias, S., Martín-Ávila, J. A., Molina, D. S. S., Tijerín-Triviño, J., & Astigarraga, J. (2024). Tidyverse: colección de paquetes de R para la ciencia de datos. Ecosistemas, 33(3), 2745-2745. Chubb, C., Scarbrough, H., & Pigott, T. (2026). R Statistical Programming in Higher Education: A Scoping Review. Technology Innovations in Statistics Education, 17(1). Le Foll, E. (2026). Quarto for reproducible research workflows and academic publishing. Abraham Zamudio