class: center, middle, inverse, title-slide # Herramientas Cuantitativas para el Análisis Político ## [CP44] Maestría en Ciencia Política ### Juan Pablo Ruiz Nicolini ### Universidad Torcuato Di Tella ### 22/09/2020 --- exclude: true --- class: middle, center ## SESIÓN 2 ### Introducción: Conociendo R + RStudio #### [
/MetodosCiPol/](https://tuqmano.github.io/MetodosCiPol/) #### [
/MetodosCiPol/](https://github.com/TuQmano/MetodosCiPol) --- ##
Referencias 1. _Comenzando con R y RStudio_, en "[Introducción a la Ciencia de Datos](https://rafalab.github.io/dslibro/getting-started.html)" (Irizarry, 2020). 2. _Prerequisitos_, en "[R para Ciencia de Datos](https://es.r4ds.hadley.nz/introducci%C3%B3n.html#prerrequisitos)" (Wickham y Grolemnud). 3. _R Básico_ en [Urdinez y Cruz](https://arcruz0.github.io/libroadp/basic-r.html); _Conociendo RStudio_ en [Montané](https://bookdown.org/martinmontaneb/CienciaDeDatosParaCuriosos/introduccion-practica-a-la-ciencia-de-datos.html#conociendo-rstudio); y _Una presentación a toda marcha_ en [Vázquez Brust](https://bitsandbricks.github.io/ciencia_de_datos_gente_sociable/una-presentaci%C3%B3n-a-toda-marcha-de-r.html). --- background-image: url(https://cran.r-project.org/Rlogo.svg) background-position: 95% 5% background-size: 10% ## _El motor de la maquina_ <img src="https://rafalab.github.io/dslibro/R/img/R_console.png" width="80%" /> --- background-image: url(https://d33wubrfki0l68.cloudfront.net/521a038ed009b97bf73eb0a653b1cb7e66645231/8e3fd/assets/img/rstudio-icon.png) background-position: 95% 5% background-size: 10% ## _**Tablero de control** (IDE)_ <img src="https://arcruz0.github.io/libroadp/00-images/basic-r/rstudio.png" width="100%" /> --- class: center, inverse, middle # Empecemos _codeando_ ! ## [
live_code.R](https://github.com/TuQmano/MetodosCiPol/blob/master/docs/Clase02/script/live_code.R) --- background-image: url(https://github.com/rstudio/hex-stickers/raw/master/PNG/tidyverse.png) background-position: 95% 5% background-size: 10% # `R base` vs _Tidyverse_ ```r curso <- data.frame(nombre= c("Juan", "Pedro", "María", "José", "Enzo", "Ariel", "Eva", "Domingo"), edad= c(25, 32, 21,40, 30, 28, 37, 25), nacim= c(1993, 1986, 1997, 1978, 1988, 1990, 1981, 1993), software.primario= c("spss", "stata", "stata", "excel", "R", "stata", "spss", "stata"), nivel= c(3, 5,7, 6, 2, 6, 8, 6) ) ``` --- background-image: url(https://github.com/rstudio/hex-stickers/raw/master/PNG/tidyverse.png) background-position: 95% 5% background-size: 10% # `R base` vs _Tidyverse_ ## Edad promedio del curso > BASE ```r # BASE sum(curso$edad)/length(curso$edad) ## [1] 29.75 ``` --- background-image: url(https://github.com/rstudio/hex-stickers/raw/master/PNG/tidyverse.png) background-position: 95% 5% background-size: 10% # `R base` vs _Tidyverse_ ## Edad promedio del curso > _Tidy_ ```r # Tidy / {dplyr} library(tidyverse) # cargo paqueteS curso %>% summarise(promedio = sum(edad)/length(edad)) ## promedio ## 1 29.75 ``` --- background-image: url(https://github.com/electorArg/polAr/blob/master/hex/hex-polAr.png?raw=true) background-position: 95% 5% background-size: 10% # Juntos por el Cambio 2019: ### Parámetros de la elección? ```r library(polAr) show_available_elections(viewer = F) ## # A tibble: 425 x 5 *## district category round year NOMBRE ## <chr> <chr> <chr> <chr> <chr> ## 1 arg presi balota 2015 ARGENTINA ## 2 arg presi gral 2003 ARGENTINA ## 3 arg presi gral 2007 ARGENTINA ## 4 arg presi gral 2011 ARGENTINA ## 5 arg presi gral 2015 ARGENTINA *## 6 arg presi gral 2019 ARGENTINA ## 7 arg presi paso 2011 ARGENTINA ## 8 arg presi paso 2015 ARGENTINA ## 9 arg presi paso 2019 ARGENTINA ## 10 caba dip gral 2005 CABA ## # ... with 415 more rows ``` --- background-image: url(https://github.com/electorArg/polAr/blob/master/hex/hex-polAr.png?raw=true) background-position: 95% 5% background-size: 10% ## Descarga resultados ### Presidente 2019 ```r get_election_data(district = 'arg', * category = 'presi', round = 'gral', * year = 2019) ## # A tibble: 192 x 8 ## # Groups: codprov [24] ## category round year codprov name_prov electores listas votos ## <chr> <chr> <dbl> <chr> <chr> <dbl> <chr> <dbl> ## 1 presi gral 2019 01 CABA 0 00024 128795 ## 2 presi gral 2019 01 CABA 0 00036 58040 ## 3 presi gral 2019 01 CABA 0 00037 707158 ## 4 presi gral 2019 01 CABA 0 00039 13559 ## 5 presi gral 2019 01 CABA 0 00050 1039750 ## 6 presi gral 2019 01 CABA 0 00108 37404 ## 7 presi gral 2019 01 CABA 0 blancos 30542 ## 8 presi gral 2019 01 CABA 0 nulos 0 ## 9 presi gral 2019 02 BUENOS AIRES 0 00024 610009 ## 10 presi gral 2019 02 BUENOS AIRES 0 00036 260597 ## # ... with 182 more rows ``` --- background-image: url(https://github.com/electorArg/polAr/blob/master/hex/hex-polAr.png?raw=true) background-position: 95% 5% background-size: 10% ## Agrega nombre de listas ```r gral2019 <- get_election_data(district = 'arg', category = 'presi', round = 'gral', year = 2019) %>% * get_names() # AGREGO NOMRE DE LISTAS AL DF gral2019 ## # A tibble: 192 x 9 ## # Groups: codprov [24] ## category round year codprov name_prov electores listas votos nombre_lista ## <chr> <chr> <dbl> <chr> <chr> <dbl> <chr> <dbl> <chr> ## 1 presi gral 2019 01 CABA 0 00024 1.29e5 CONSENSO FED~ ## 2 presi gral 2019 01 CABA 0 00036 5.80e4 FRENTE DE IZ~ ## 3 presi gral 2019 01 CABA 0 00037 7.07e5 FRENTE DE TO~ ## 4 presi gral 2019 01 CABA 0 00039 1.36e4 FRENTE NOS ## 5 presi gral 2019 01 CABA 0 00050 1.04e6 JUNTOS POR E~ ## 6 presi gral 2019 01 CABA 0 00108 3.74e4 UNITE POR LA~ ## 7 presi gral 2019 01 CABA 0 blanc~ 3.05e4 blancos ## 8 presi gral 2019 01 CABA 0 nulos 0. nulos ## 9 presi gral 2019 02 BUENOS AI~ 0 00024 6.10e5 CONSENSO FED~ ## 10 presi gral 2019 02 BUENOS AI~ 0 00036 2.61e5 FRENTE DE IZ~ ## # ... with 182 more rows ``` --- background-image: url(https://github.com/electorArg/polAr/blob/master/hex/hex-polAr.png?raw=true) background-position: 95% 5% background-size: 10% ### Dónde cosechó menos votos Juntos por el Cambio? #### Provincia con votos `min()` ```r jxc <- gral2019[gral2019$nombre_lista == 'JUNTOS POR EL CAMBIO', ] # > BASE jxc <- as.data.frame(jxc) jxc[jxc$votos == min(jxc$votos),] ## category round year codprov name_prov electores listas votos ## 24 presi gral 2019 24 TIERRA DEL FUEGO 0 00050 25673 ## nombre_lista ## 24 JUNTOS POR EL CAMBIO ``` -- ```r gral2019 %>% # > TIDY filter(nombre_lista == 'JUNTOS POR EL CAMBIO') %>% ungroup() %>% slice_min(votos) ## # A tibble: 1 x 9 ## category round year codprov name_prov electores listas votos nombre_lista ## <chr> <chr> <dbl> <chr> <chr> <dbl> <chr> <dbl> <chr> ## 1 presi gral 2019 24 TIERRA DEL~ 0 00050 25673 JUNTOS POR EL~ ``` --- #
vs
<img src="fig/computer_human.png" width="200%" /> --- background-image: url(https://github.com/rstudio/hex-stickers/raw/master/PNG/tidyverse.png) background-position: 95% 5% background-size: 10% # Tidyverse 1. Reutilizar estructuras de datos existentes 2. Armar funciones simples con la _pipa_ (`%<%`) 3. Adoptar la programación funcional 4. Diseñado para humanos! [
The Manifesto](https://tidyverse.tidyverse.org/articles/manifesto.html) --- background-image: url(https://github.com/rstudio/hex-stickers/raw/master/PNG/tidyverse.png) background-position: 95% 5% background-size: 10% ## El núcelo _Tidyverse_ <img src="fig/tidy_hex.PNG" width="60%" /> Fuente: [https://evamaerey.github.io/little_flipbooks_library/ggtextures/ggtextures#1](https://evamaerey.github.io/little_flipbooks_library/ggtextures/ggtextures#1) -- ```r # Install from CRAN install.packages("tidyverse") ``` ### [
The Tidyverse](https://tidyverse.tidyverse.org) --- background-image: url(https://d33wubrfki0l68.cloudfront.net/521a038ed009b97bf73eb0a653b1cb7e66645231/8e3fd/assets/img/rstudio-icon.png) background-position: 95% 5% background-size: 10% # Hastá acá #### (1) Codeo
`base` vs *Tidyverse* # Lo que falta #### (2) Organización de proyectos
`.Rproj` y `here::` #### (3) Reproducibilidad y Comunicación
`R` y `Rmd` --- class: center, inverse, middle <img src="https://d33wubrfki0l68.cloudfront.net/521a038ed009b97bf73eb0a653b1cb7e66645231/8e3fd/assets/img/rstudio-icon.png" width="10%" /> # (Extras) --- background-image: url(https://d33wubrfki0l68.cloudfront.net/521a038ed009b97bf73eb0a653b1cb7e66645231/8e3fd/assets/img/rstudio-icon.png) background-position: 95% 5% background-size: 10% # .Rproj <img src="http://www.rstudio.com/images/docs/projects_new.png" width="60%" /> ### [
Using Projects](https://support.rstudio.com/hc/en-us/articles/200526207-Using-Projects) --- background-image: url(https://d33wubrfki0l68.cloudfront.net/521a038ed009b97bf73eb0a653b1cb7e66645231/8e3fd/assets/img/rstudio-icon.png) background-position: 95% 5% background-size: 10% # {here} <img src="https://raw.githubusercontent.com/allisonhorst/stats-illustrations/master/rstats-artwork/here.png" width="60%" /> ### [
{here}](https://here.r-lib.org/index.html) --- background-image: url(https://d33wubrfki0l68.cloudfront.net/521a038ed009b97bf73eb0a653b1cb7e66645231/8e3fd/assets/img/rstudio-icon.png) background-position: 95% 5% background-size: 10% # R Markdown <img src="https://d33wubrfki0l68.cloudfront.net/3215c7166555d2ac02ef678fd025c171f90db23c/4e60a/images/bandone.png" width="60%" /> ### [
Comunicación](https://rmarkdown.rstudio.com/)