1 Introducción
El interés en el entorno de software y lenguaje de programación estadística disponible gratuitamente R (R Core Team 2021) está aumentando, con más de 11000 complementos (muchos de ellos proporcionan métodos de vanguardia) que están disponibles en la Red Integral de Archivos R (CRAN), una extensa red de servidores FTP en todo el mundo que almacenan versiones idénticas y actualizadas del código R y su documentación. En este contexto, R domina como software (comercial) para la computación estadística en la mayoría de los campos de investigación en estadística aplicada. Los beneficios de estar disponible gratuitamente, de código abierto y de tener una comunidad grande y en constante crecimiento de usuarios que contribuyen a CRAN hacen que R sea cada vez más atractivo tanto para los economistas empíricos como para los econometristas.
Una ventaja sorprendente de usar R en econometría es que permite a los estudiantes documentar explícitamente su análisis paso a paso, de modo que sea fácil de actualizar y expandir. Esto permite reutilizar el código para aplicaciones similares con datos diferentes. Además, los programas R son completamente reproducibles, lo que facilita que otros comprendan y validen los resultados.
En los últimos años, R se ha convertido en una parte integral del plan de estudios de las clases de econometría que se imparten en la Universidad Nacional Autónoma de México. En cierto sentido, aprender a codificar es comparable a aprender un idioma extranjero y la práctica continua es esencial para el éxito del aprendizaje.
No hace falta decir que presentar el código R desnudo en las diapositivas no anima a los estudiantes a participar en la experiencia práctica por sí mismos; por lo tanto, una introducción amigable a R es crucial. En cuanto a la literatura complementaria, hay algunos libros excelentes que tratan sobre R y sus aplicaciones a la econometría, por ejemplo, C. Kleiber and Zeileis (2008). Sin embargo, dichas fuentes pueden estar algo más allá del alcance de los estudiantes de pregrado en economía que tienen poca comprensión de los métodos econométricos y poca experiencia en programación.
En consecuencia, se ha compilado una colección de informes reproducibles para usar en clase. Dichos informes brindan orientación sobre cómo implementar aplicaciones seleccionadas del libro de texto Introducción a la econometría (Stock and Watson 2015) que sirve como base para el curso y los tutoriales que lo acompañan. Dicho proceso fue facilitado considerablemente por knitr (Xie 2021b) y R markdown (Allaire et al. 2021). En conjunto, ambos paquetes de R proporcionan potentes funcionalidades para la generación de informes dinámicos que permiten combinar perfectamente texto puro, LaTeX, código R y su salida en una variedad de formatos, incluidos PDF y HTML.
Además, la redacción y distribución de informes reproducibles para su uso en el ámbito académico se ha enriquecido enormemente con el paquete bookdown (Xie 2021a), que se ha convertido en la principal herramienta para el presente proyecto. En otras palabras, bookdown encuentra fundamento en R markdown y permite crear páginas HTML atractivas como esta, entre otras cosas.
Inspirándo en Introduccion a la Econometria (Wooldridge 2016) y replicando las aplicaciones discutidas en él libro Using R for Introductory Econometrics (Heiss 2016) se ha usado este poderoso conjunto de herramientas para redactar el presente complemento empírico para cualquier economista en formación.
De manera similar al libro de Heiss (2016), este proyecto no es un libro de texto completo de econometría ni pretende ser una introducción general a R. En cualquier caso, ¡mejor que en otro libro de texto introductorio! el presente proyecto es una descripción que sirve como un guión interactivo con el estilo de un informe de investigación reproducible que tiene como objetivo proporcionar a los estudiantes un arreglo de aprendizaje electrónico independiente, entrelazando a la perfección el conocimiento básico teórico y las habilidades empíricas en econometría de pregrado. Por supuesto, la atención se centra en las aplicaciones empíricas con R, se dejan de lado las derivaciones y las demostraciones siempre que se pueda. El objetivo es permitir que los estudiantes no solo aprendan cómo los resultados de los estudios de casos se pueden replicar con R, sino que también tiene la intención de fortalecer su capacidad para usar las habilidades recién adquiridas en otras aplicaciones empíricas.
Para darse cuenta de esto, cada capítulo contiene ejercicios interactivos de programación en R. Estos ejercicios se utilizan como suplementos de fragmentos de código que muestran cómo se pueden implementar las técnicas discutidas anteriormente dentro de R. Se generan utilizando el widget de luz DataCamp, que están respaldados por una sesión R que se mantiene en DataCamp. Puede jugar el ejercicio de ejemplo que se presenta a continuación.
Como se puede ver arriba, el widget consta de dos pestañas. script.R imita un archivo .R, un formato de archivo que se usa comúnmente para almacenar código R. Las líneas que comienzan con # se comentan, es decir, no se reconocen como código. Además, script.R funciona como una hoja de ejercicios en la que puede escribir la solución que se le ocurra. Si presiona el botón Ejecutar, se ejecutará el código, se ejecutarán las pruebas de corrección del envío y se le notificará si su enfoque es correcto. Si no es correcto, recibirá comentarios que sugieren mejoras o sugerencias. La otra pestaña, R Console, es una consola R completamente funcional que se puede utilizar para probar soluciones a los ejercicios antes de enviarlos. Por supuesto, puede enviar (casi cualquier) código R y usar la consola para jugar y explorar. Simplemente escriba un comando y presione la tecla Enter en su teclado.
Mirando el widget de arriba, notará que hay un > en el panel derecho (en la consola). Este símbolo se llama “aviso” e indica que el usuario puede ingresar el código que se ejecutará. Para evitar confusiones, no se mostrará este símbolo en el curso. La salida producida por el código R se comenta con #> .
Por lo general, se muestra el código R junto con la salida generada en fragmentos de código. Como ejemplo, si se considera la siguiente línea de código que se presenta en el fragmento a continuación. Le dice a R que calcule el número de paquetes disponibles en CRAN. El fragmento de código es seguido por la salida generada.
# check the number of R packages available on CRAN
nrow(available.packages(repos = "http://cran.us.r-project.org"))
#> [1] 17618
Cada fragmento de código está equipado con un botón en el lado exterior derecho que copia el código en su portapapeles. Esto hace que sea conveniente trabajar con segmentos de código más grandes en su versión de R/RStudio o en los widgets presentados a lo largo del curso. En el widget de arriba, puede hacer clic en R Console y escribir nrow(available.packages(repos ="http://cran.us.r-project.org"))
(el comando del código fragmento de arriba) y ejecútarlo presionando Enter en su teclado.1
Se debe tener en cuenta que algunas líneas en el widget están comentadas y le piden que asigne un valor numérico a una variable y luego que imprima el contenido de la variable en la consola. Puede ingresar su enfoque de solución a script.R y presionar el botón Ejecutar para obtener los comentarios que se describen más arriba. En caso de que no sepa cómo resolver este ejercicio de muestra (no se asuste, probablemente por eso está leyendo esto), un clic en Pista le proporcionará algunos consejos. Si aún no puede encontrar una solución, un clic en Solución le proporcionará otra pestaña, Solución.R, que contiene un código de solución de muestra. A menudo ocurre que los ejercicios se pueden resolver de muchas formas diferentes y Solution.R presenta lo que se considera comprensible e idiomático.
Referencias bibliográficas
La sesión R se inicializa haciendo clic en el widget. Esto puede tardar unos segundos. Espere a que el indicador junto al botón Ejecutar se ponga verde.↩︎