Viernes de 08:00 a 09:40 | 📍 Sede Sinergia Ejido (Ejido 1275) - Salón K301
Talleres: ejercicios teóricos + aplicaciones en R (intuición & práctica).
Cada dos semanas apróximadamente hay que hacer un trabajo domiciliario.
Trabajo final:
Hasta 3 integrantes
29/10: Entrega tema de trabajo de investigación.
21/11: Entrega trabajo de investigación (paper o presentación, código + datos).
Mi mail está al inicio de cada presentación, por cualquier consulta siempre me pueden escribir.
Composición de la nota final:
Parcial - 40%
Trabajo de investigación - 30%
Prácticos - 25%
Actitud y participación - 5%
Un econometrista aplicado† necesita un conocimiento sólido de (al menos) tres áreas:
La teoría de la econometría subyacente (supuestos, resultados, fortalezas, debilidades).
Sabér cómo aplicar métodos teóricos a datos reales.
Métodos eficientes para trabajar con datos — limpiar, agregar, unir, visualizar.
Este curso tiene como objetivo profundizar conocimientos en cada una de estas tres áreas.
[†]: Econometrista aplicado = Practicante de econometría, e.g., analista, consultor, científico de datos.
Citando a la web del proyecto R:
R es un entorno de software libre para gráficos y computación estadística. Se compila y se ejecuta en una amplia variedad de plataformas UNIX, Windows y MacOS.
¿Qué significa esto?
R fue creado para el trabajo estadístico y gráfico requerido por la econometría.
R tiene una comunidad en línea bastante activa y útil. (Stack Overflow, R-Ladies, Grupos de usuarios de R)
Además, es gratis y código abierto.
1. R es gratis y de código abierto.
2. R es flexible y poderoso— es adaptable a casi cualquier tarea, e.g., estadística, análisis de datos espaciales, machine learning, web scraping, limpieza de datos, creación de sitios web, estas notas de clase.
3. Relacionado: R no impone en la cantidad de observaciones, memoria o poder de procesamiento.
4. Con dedicación † pueden obtener una herramienta valiosa y comercial.
5. 💖 R
[†]: Aprender R definitivamente requiere tiempo y esfuerzo.
1. Descarga
2. Actualización de R
install.packages("installr")installr::updateR()
devtools::install_github("AndreaCirilloAC/updateR")updateR::updateR(admin_password = "PASSWORD") # "PASSWORD" es la contraseña del sistema
3. R Online
Es un RStudio que se ejecuta lento pero sirve para salir de apuros: https://rstudio.cloud/plans/free
Un block de color gris en una diapositiva significa que se inicia código R. Es como si hubiera una consola de R en la diapositiva.
Dentro del block gris un signo de numeral ('#') significa que se inicia un comentario.
Dentro del block gris un signo de numeral y el signo '>' ('>') es un resultado del intérprete.
Ejemplo:
9 + 12 # esto es una suma
> [1] 21
9 + 12
> [1] 21
rnorm(15)
> [1] -0.32606194 1.00924283 -0.37129459 1.45421663 0.66290663 -0.66827330> [7] -2.00434993 -1.30699470 -2.32536400 0.44944767 0.42626153 -0.90526337> [13] -0.01495748 0.28629459 -1.43816416
Los números que aparecen entre paréntesis rectos ([]) luego de '#>' indican la posición del resultado.
Ejemplo:
> objeto_1 <- seq(1, 30, 0.5)> plot(objeto_1++ )>
En R el signo '>' (prompt) indica que el intérprete "está listo" para recibir órdenes.
Si luego de dar una orden, en lugar de aparecer nuevamente el prompt, aparece el signo de '+' indica que hay una orden incompleta. En el ejemplo de arriba lo que falta es cerrar el paréntesis de la función plot().
Si doy 'Enter' con una función incompleta va a aparecer nuevamente el signo de '+', para salir de este ciclo debo apretar 'Esc'.
Dos consejos de Hadley Wickham para aprender y mejorar la programación en R:
1. Lean código fuente. Busquen los paquetes o las funciones que usan con más frecuencia y miren cómo están escritos.
2. Adopten una mentalidad científica. Si no comprenden cómo funciona algo, desarrollen una hipótesis, diseñen algunos experimentos, ejecútenlos y registren los resultados.
Un script es un archivo en el que se escriben los comandos y las funciones que se desean guardar de una sesión de trabajo.
x <- c(1, 8, 19)# El objeto x es un vector de tres números. Y esto es un comentario :)
Un paquete de R es un conjunto de funciones que pertenecen a un mismo ambiente y que -por lo común- tienen una estructura general que justifica que estén juntas.
Descarga:
# Descargar un paquete desde CRANinstall.packages("wooldridge")# la función install.packages("...")# descarga el paquete a la computadora# (funciones y documentación de las mismas)# Descargar un paquete desde GitHub (versión del paquete en desarrollo)install.packages("devtools")devtools::install_github("JustinMShea/wooldridge")
Uso (cargar un paquete):
# Para usar las funciones de un paquete ya descargado hay que usar la funciónlibrary(...)library("wooldridge")# se puede prescindir del uso de las comillas.# En el caso de la descarga el paquete debe estar entrecomilladolibrary(wooldridge)
help(lm) #Comando básico de búsqueda?lm #ídem anteriorhelp("+") #Ayuda sobre un operadorhelp.search("norm") # Busca entre los paquetes instalados las # funciones que contienen el termino "norm"??norm # ídem anteriorapropos("mean") #Listado de funciones que contienen el termino "norm"help(rlm, package = "MASS") # Busca la ayudad de una función específica # de un paqueteRSiteSearch("glm") # Busca en los manuales y ficheros de ayuda de la web # R-projectfind("mean") #Devuelve el paquete al que pertenece la función. # (el paquete debe estar cargado: library())example(contour) # Ejecuta los ejemplos disponibles de la funciónbrowseVignettes() # Muestra en web las viñetas disponibles y el acceso # a ellas. De un paquete: (package="package-name")vignette(all = TRUE) # Muestra todas las viñetas disponibles en pantalla
Ejemplo:
help(mean)
Una función en R es una o varias sentencias de código que realizan una operación determinada.
Una función tiene dos características fundamentales para su correcto uso: un nombre y argumentos que siempre van entre paréntesis.
Ejemplo: función para obtener el promedio de un conjunto de datos
mean(x, trim = 0, na.rm = FALSE, ...)
De los 4 argumentos hay dos que tienen un valor asignado mediante el signo '='. Estos son valores por defecto. Si el usuario no los modifica la función siempre va a asumir esos valores.
Cuando se usa una función:
Ejemplo: todas estas opciones generan el mismo resultado
mean(x = 1:10)mean(1:10)mean(x = c(1:10, NA), trim = 0, na.rm = TRUE)mean(trim = 0, x = c(1:10, NA), na.rm = TRUE)mean(c(1:10, NA), 0, TRUE)
En R se crea un objeto con el asignador '<-'. También se puede usar '=' pero no es recomendable.
nombre_del_objeto <- contenido_del_objeto
Palabras reservadas: if, break, next, TRUE, NaN, else, for, NULL, Inf, NA, FALSE, function, repeat, while, in
Los tipos de objetos más frecuentes son estos:
typeof* | Descripción | Ejemplo |
---|---|---|
logical | un vector que contiene valores lógicos | a <- c(TRUE, FALSE, TRUE) |
double | un vector que contiene valores reales | a <- seq(1:10, 0.3) |
character | un vector que contiene valores de caracteres | a <- letters[1:5] |
La estructura fundamental en R es el vector. El resto de las estructuras se pueden pensar como combinaciones de vectores.
Keyboard shortcuts
↑, ←, Pg Up, k | Go to previous slide |
↓, →, Pg Dn, Space, j | Go to next slide |
Home | Go to first slide |
End | Go to last slide |
Number + Return | Go to specific slide |
b / m / f | Toggle blackout / mirrored / fullscreen mode |
c | Clone slideshow |
p | Toggle presenter mode |
t | Restart the presentation timer |
?, h | Toggle this help |
Esc | Back to slideshow |