class: center middle main-title section-title-1 top-logo .small[ # Herramientas para el uso de R ] .class-info[ <br> **Bloque N° 1**<br> 19 agosto 2021<br> **Análisis de datos estadísticos en R** <br> .pull-right.small[ **Profesora** Valentina Andrade de la Horra <br> **Ayudantes** Dafne Jaime y Nicolás Godoy .tiny[Universidad Diego Portales<br> ] ] ] --- class: title title-inv-1 # Contenidos Bloque 1 .box-7.medium.sp-after-half[Detalles del curso] -- .box-1.medium.sp-after-half[R **enviroment**] -- .box-2.medium.sp-after-half[R **consulta y comunicación**] -- .box-3.medium.sp-after-half[El script en R y el primer paso: los **paquetes**] ??? - class details (class-details) - R enviroment (renv) - R consulta (rconsult) - R paquetes (rpack) --- layout: false name: class-details class: center middle section-title section-title-7 animated fadeIn # Detalles del curso --- layout: true class: title title-7 --- # Plan del curso .center[ <figure> <img src="img/logos/eval-flowchart.png" alt="Class flowchart" title="Class flowchart" width="100%"> </figure> ] --- # Pre-requisitos -- .box-7.small[**Herramientas tecnológicas**] .box-inv-7.small.sp-after[Un computador e internet] -- .box-7.small[**Habilidades de la ciencia computacional**] .box-inv-7.small.sp-after[No] -- .box-7.small[**Habilidades estadísticas**] .box-inv-7.small[Estadística descriptiva, inferencial y regresiones] --- layout: false class: bg-full animated fadeIn title-1 background-image: url("data:image/png;base64,#img/01/r.gif") # ¡Y muchas ganas de aprender! --- # ¿Los haré científicos de datos? -- .box-inv-7.huge[**No!**] -- .box-7[No tienes que ser un "mecánico" para manejar correctamente] -- .box-7[No tienes que ser un *computín* para usar R correctamente] ??? https://twitter.com/ameliaritger/status/1214682596182904832?s=12 Drivers, mecanicos, ingenieros. No necesitas ser mecanico para tener licencias... pero si lo necesitaras si quieres cambiar cosas en tu auto. Tampoco necesitas ser ingeniero/a, solo si quieres crear algo nuevo (al menos en ciencias sociales) https://twitter.com/Sumidu/status/1214695065387438083 --- layout: false class: center middle .box-7.huge[¡Tú puedes! (podremos juntas/os)] --- layout: true class: title title-7 --- # Y con esto lograrás <img src="data:image/png;base64,#01-slides_files/figure-html/aprendi-1.png" width="1080" style="display: block; margin: auto;" /> --- # Organización .pull-left-7.center[ <figure> <img src="img/01/flow-class.png" title="Clases" width="70%"> </figure> ] --- # Evaluaciones - **Sin evaluaciones**, pero hay una *opción de la entrega de un proyecto de investigación utilizando R*, y con ello, aparecerán en el sitio como participantes **activos** durante los talleres. -- - ¿Y qué gano yo con eso? 😯 -- - No sé 🤷🏽♀️ --- # Convivencia virtual ![:scale 80%](data:image/png;base64,#img/01/convencia.png) -- - Y prender las cámaras 🎥, para poder ver sus caras de dudas o de felicidad --- # Recursos del curso .center[ <figure> <img src="img/01/Rlogo.png" alt="R logo" title="R logo" width="30%"> </figure> <figure> <img src="img/01/rstudio-logo.png" alt="RStudio logo" title="RStudio logo" width="50%"> </figure> ] --- # Recursos del curso .center[ ![](data:image/png;base64,#img/01/pagina-curso.jpg) ] --- class: title title-inv-8 # Introducción .box-8.medium.sp-after-half[¿Y no bastaba aprender SPSS?] -- .center[ ![](data:image/png;base64,#https://64.media.tumblr.com/fd06b6c228042758ca3fdbc739921bcb/tumblr_mqlyveFRp61s9zc2po1_500.gifv) ] --- class: title title-inv-8 # Introducción .box-8.medium.sp-after-half[El contexto del curso] -- .pull-left.box-1.center[Mayor uso de R en las ciencias <br> También en las **ciencias sociales**] -- .pull-right.box-7.center[Las universidades incluyen cada vez más este software y otros en sus planes de estudio] --- class: title title-inv-8 .center[ ![](data:image/png;base64,#img/01/carreras.jpg) ] --- class: title title-inv-8 # Razones: empleabilidad .pull-left.code[ .box-8[Ustedes en datos] .small[ <img src="data:image/png;base64,#01-slides_files/figure-html/razones-1.png" width="1440" style="display: block; margin: auto;" /> ]] -- .pull-right.code[ .box-2[Ustedes en la vida real] .center[ <figure> <img src="img/01/empleabilidad.jpg" alt="Nate Breznau again" width="70%"> </figure>] ] --- class: title title-inv-8 .small[ # El tema de fondo: crisis de la reproducibilidad ] .pull-left.code[ <figure> <img src="img/01/repro-ine.jpg" alt="INE" width="90%"> </figure> ] -- .pull-right.code[ <figure> <img src="img/01/repro-manza-brooks.jpg" alt="Nate Breznau again" width="90%"> </figure> ] -- .pull-middle-8[ .box-inv-1[El conocimiento como un [**bien común**](https://www.youtube.com/watch?v=ukdnX2clG9M)] ] --- layout: false class: center middle section-title section-title-8 animated fadeIn # ¿Qué tiene que ver todo esto con R? 🤔 --- class: title title-inv-8 .small[ # R: una herramienta para la ciencia abierta ] .pull-right[.box-2[**libre**] .box-3[**gratis**]] - Una herramienta de "ambiente" (*R enviroment*): -- - Cada vez más uso en Chile 🇨🇱 -- - Pero no necesariamente con un propósito de "ciencia abierta" 👎 --- class: title title-inv-8 .small[ # Experiencia tradicional sobre R ] .center[
*Tal como ustedes mismos la cuentan*] --- class: title title-inv-8 .small[ # R: una herramienta para la ciencia abierta ] .box-7-inv[La colaboración y trabajo en equipo **facilita el aprendizaje**] .small.center[ <figure> <img src="img/01/equipo.gif"width="40%"> </figure> ] --- class: title title-inv-8 .small[ # Componente humano: el equipo del curso .center[ <figure> <img src="img/01/team-learn-r.gif"width="40%"> </figure> ] ] --- class: title title-inv-8 .small[ # Componente técnico: [*rOpensci*](https://ropensci.org/) .center[ <figure> <img src="img/01/ropensci.gif"width="50%"> </figure> ] ] --- layout: false class: center middle section-title section-title-1 animated fadeIn .center[ <figure> <img src="https://c.tenor.com/Ws34sHrHC-8AAAAC/monsters-inc-sully.gif" width="50%"> </figure> ] # ¡ Vamos a conocerlas! --- layout: false name: renv class: center middle section-title section-title-1 animated fadeIn # 1. R<br>enviroment --- class: title title-1 # 1.1 ¿Qué es R? .center[Muchas/os piensan que es un programa estadístico] -- .box-inv-1[R es un **lenguaje** y un **ambiente** dentro del cual técnicas **estadísticas pueden ser implementadas**] -- .box-inv-7[El concepto *enviroment* intenta darnos la idea de un sistema coherente y planificado] --- class: title title-1 # 1.1 ¿Qué es R? .box-1[R enviroment características:] -- .box-3[ (1) Facilta manipulación y almacenaje de datos] -- .box-4[ (2) Permite cálculos y visualización de datos] -- .box-5[ (3) Es coherente y capaz de integrarse con otras herramientas] -- .box-6[ (4) Simple, pero capaz de realizar procedimientos complejos] -- .box-7[ (5) Gracias a la colaboración, sus potenciales pueden ser extendidos a partir de **paquetes**] --- class: bg-full background-image: url("data:image/png;base64,#img/01/terminal-r.jpg") ??? --- .center[ ![](data:image/png;base64,#img/01/ver-consola.jpg) ] --- class: center middle section-title section-title-1 animated fadeIn .box-1-inv.large[# Tranquilidad, espera un segundo . . . 🥁] --- class: center middle section-title section-title-1 animated fadeIn .small[ .box-1-inv.large[# ¡RStudio!] ![](data:image/png;base64,#img/01/rstudio-logo.png) .box-inv-3[el IDE (*integrated development enviroment*) para R] ] --- # Básicamente ![:scale 40%](data:image/png;base64,#img/01/rstudio-r.jpg) --- class: title title-1 # 1.1 RStudio - Integra lenguaje R con diferentes herramientas para facilitar su uso: .pull-left.center[ .box-inv-2[(1) Consola] <figure> <img src="img/01/consola.jpg"> </figure> ] .pull-left.center[ .box-inv-2[(2) Editor de sintaxis (código)] <figure> <img src="img/01/script.jpg"> </figure> ] --- class: title title-1 # 1.1 RStudio .pull-left.small[ .box-inv-2[(3) Enviroment ] <figure> <img src="img/01/enviroment.jpg"> </figure> ] .pull-right.small[ .box-inv-2[(4) Workspace] <figure> <img src="img/01/files.jpg"> </figure> ] --- class: title title-1 # 1.1 RStudio .pull-middle.small[ .box-inv-2[(5) Plot, debugging (bugs o errores), historia] <figure> <img src="img/01/plots.jpg"> </figure> ] --- class: center middle section-title section-title-1 animated fadeIn .small[ .box-1-inv.large[# Parte 1: Asimilando RStudio] .box-inv-1[[Descargar el zip del bloque 1 el sitio del curso](https://learn-r-udp.netlify.app/content/01-content/)]] --- layout: false class: center middle section-title section-title-2 animated fadeIn # ¡Para tantas preguntas, *casi* **siempre** hay respuestas! --- name: rconsult layout: false class: center middle section-title section-title-2 animated fadeIn # 2. R consulta --- layout: true class: title title-2 --- # Una de las claves para aprender R .center[ <figure> <img src="img/01/learning-r.png" width="60%"> </figure> ] --- # R consultas .box-inv-2.medium[Gracias a su carácter abierto y colaborativo] -- .box-inv-2.medium.sp-after[Existe una **gran** comunidad de usuarios que contestan dudas ] -- .box-2.medium[O incluso que hacen talleres masivos] ??? Rladies, userR --- # 2.1 ¿Dónde consultar en R? .box-inv-2[(o mejor dicho **buscar respuestas**)] -- .pull-left-code[<figure> <img src="img/01/stackoverflow.png" width="30%"> </figure> .box-inv-2.small[Stackoverflow ➡ sobre códigos en general]] -- .pull-left-code[<figure> <img src="img/01/rstudiocom-logo.png" width="30%"> </figure> .box-inv-2.small[RStudio Community ➡ más específica]] ??? - https://stackoverflow.com/ -- https://stackoverflow.com/questions/33026167/reading-sav-file-into-r - https://community.rstudio.com/t/help-with-filter-and-select-function/15843 - https://cran.r-project.org/: abordaremos este más el próxima sesión/ y rdocumentation --- # Ventajas -- .box-inv-2.medium[(1) Las preguntas y respuestas están evaluadas] -- .box-inv-2.medium[(2) Las preguntas y respuestas son reproducibles] -- .box-inv-2.medium[(3) Las preguntas y respuestas tienen fecha] -- .box-inv-2.medium[Desventaja : están en inglés] ??? --- layout: false .box-2.large[¿Dónde **evitar** preguntar y buscar respuestas?] -- .box-inv-2.medium[Esto se llama *"usted no lo haga"*] --- layout: true class: title title-2 --- # Ustedes no lo hagan 😥 .pull-left.center[ <figure> <img src="img/01/pregunta-facebook.jpg" width="100%"> </figure> ] -- .pull-right.center[ <figure> <img src="img/01/preguntas-facebook.jpg" width="100%"> </figure> ] --- # En síntesis ✅ Parta por buscar su error y consulta ✅ Prefiera stackoverflow y RStudio Community ✅ Si aún tienes dudas pregúntale a alguien especializado. ✅ Se lo más específico posible, 🙏 envíes pantallazos🙏 --- layout: false class: center middle section-title section-title-2 animated fadeIn # Y tranquila/o, no estarás sola/o en este proceso --- class: center middle section-title section-title-2 animated fadeIn # R comunicación --- class: center section-title section-title-2 animated fadeIn # R comunicación -- .tiny[ .pull-left[<figure> <img src="img/01/slack-logo.png" width="30%"> </figure> .box-inv-2.medium[Slack ➡ canal de comunicación del curso]] -- .pull-medium[<figure> <img src="img/01/rprojects.jpg" width="10%"> </figure> .box-inv-2.medium[Rprojects ➡ projecto con su propio ambiente] ] ] --- layout: true class: title title-2 --- # 1. Rprojects - Uno de los aspectos **más potentes** y **útiles** de RStudio es su capacidad de manejar proyectos. - La primera vez que tu abres R este está "posicionado" en alguna carpeta de tu computadora (*Working Directory*) - No necesariamente esta carpeta contiene los datos que necesitas para tus análisis - Por ello, **cada vez que inicias R tendrás que fijar tu directorio**. --- class: center middle section-title section-title-inv-2 animated fadeIn # ¿Qué problemas se imaginan que esto podría traer? --- # 1. RProjects - Evita errores de definición de espacio de trabajo (*Working directory*) ```r *datos <- read.csv("datos.csv") ``` ``` ## Error in file(file, "rt"): no se puede abrir la conexión ``` -- - Un error muy **clásico** 😖 --- # 1. RProjects - En caso contrario hay que ser unos detectives de rutas de los archivos🕵️♀️😂 ```r *datos <- read.csv("ruta_hacia_los_datos/datos.csv") datos <- read.csv("c: mi computador/carpeta datos/mi proyecto del curso/datos.csv") ``` --- # 1. Rprojects - Permite crear un **directorio propio** 🌱 para un proyecto - Este directorio propio podrá contener **todos** los recursos que utilizas para tu proyecto (sintaxis, datos, figuras) .scale[ ![](data:image/png;base64,#img/01/rprojects.jpg)] --- # 1. Rprojects - Sirve para esclarecer los flujos de trabajos ![:scale 80%](data:image/png;base64,#img/01/flow-rprojects.png) --- # 1. Rprojects - Sirve para esclarecer los flujos de trabajos ![:scale 80%](data:image/png;base64,#img/01/rprojects-carpetas.png) --- class: center middle section-title section-title-2 animated fadeIn # Parte 2: ¡Vamos a ver cómo se hacen los .Rproject! 🧐 --- .small[ # Flujo propuesto para trabajar durante el curso ] .center[ ![:scale 80%](data:image/png;base64,#img/01/flow-rproject.png)] --- .center[ ![](data:image/png;base64,#img/01/meme-orden-versiones.jpg)] --- layout: false --- class: center middle section-title section-title-3 animated fadeIn # R + RStudio -- ![](data:image/png;base64,#https://c.tenor.com/1wJU51jgwSQAAAAC/dbz-dragonball.gif) --- class: center middle section-title section-title-3 animated fadeIn # El script 👩🏽💻 --- layout: true class: title title-3 --- # Script - Piensen en una guía que una cocinera/o 👩🏽🍳 -- 1. Los pasos deben ser realizados en orden: *no podemos cocer verduras si no hemos hervido el agua* -- 2. Hay ciertas herramientas que ocupar para realizar los pasos o procesos: *no podemos hervir agua con un tenedor* o con un *microondas* (o al menos si lo hacemos, nos demoraríamos mucho tiempo y gastaríamos mucha energía) --- # Script - Lo mismo ocurre con la programación: 1. Hay un orden para llegar a los resultados 🔢 -- 2. Hay herramientas que hacen posible la ejecución de sus procesos 🛠️ -- 3. No podemos esperar un gráfico bonito si no sabemos cocinar👩🏽🍳, -- *perdón*, codificar 👩🏽💻 🙄 --- # Algunos shortcuts importantes 📌 Los siguientes atajos del teclado serán sus mejores amigos/as - **Ejecutar** líneas de código del script: <kbd>CTRL</kbd> <kbd>Enter</kbd> - **Guardar** el script (archivo . R): <kbd>CTRL</kbd> <kbd>S</kbd> - **Nuevo** script (archivo . R): <kbd>CTRL</kbd> <kbd>N</kbd> - *Título automático* dentro del script: <kbd>CTRL</kbd> <kbd>Shift</kbd> <kbd>R</kbd> --- # Encoding en el script - *¿Qué pasa si me aparece el script con símbolos raros?* En la barra del navegador de tu *RStudio* debes buscar: File → Reopen with Encoding → seleccionar `UTF-8` --- # Orden de un script <img src="/img/01/orden-sintaxis.png" width="50%" style="display: block; margin: auto;" /> --- layout: false class: center middle section-title section-title-3 animated fadeIn # Parte 3: ¡Vamos a ver las partes de un Script! --- layout: false class: center middle section-title section-title-3 animated fadeIn # Desde ahí se pueden crear cosas maravillosas -- .box-inv-3[Pero, no siempre es suficiente para lograr nuestros propósitos 😢] -- .box-inv-3[Muchas veces necesitaremos de **extensiones** para nuestros análisis] --- layout: false class: center middle section-title section-title-3 animated fadeIn ## Esas extensiones las implementamos paquetes .box-inv-3[¡Conozcamos el primer paso: cargar paquetes!] --- layout: true class: title title-3 --- # Paquetes - Los paquetes 📦 o también llamado librearías 📚 -- - Siguiendo con la metáfora de la cocina, es como **implementar con herramientas para lograr hacer nuestro pastel**: hervidor, cubiertos, fuego, etc. --- Pero cuidado con quemar la cocina, instalando **todo** o **cualquier cosa** 😖 .center[ ![](data:image/png;base64,#https://c.tenor.com/YoyeYNnvphQAAAAC/j-law-jennifer-lawrence.gif)] --- # Paquetes - Este proceso de compone de dos partes esenciales (1) Instalar paquetes (`ìnstall.packages()`) (2) Llamar paquetes (`library()`). Veamos su paso a paso -- - El `sessionInfo()` es un paso que realizaremos para conocer el ambiente de desarrollo de nuestro RStudio --- # 1. Instalar paquetes - Utilizaremos `install.packages()`. Dentro del `()` tenemos que rellenar cuál paquete queremos instalar. -- - Pero ... una pregunta lógica es ¿cómo sé eso? ¿qué argumentos o "cosas" se ponen dentro de una función? --- # 1. Consultando sobre paquetes Para ello hay dos enfoques que puedes seguir 1. Poner en tu consola `?nombre_de_la_funcion()` y notarás que en **Help** aparecerá automáticamente información de este. Esta información está contenida en [CRAN](https://cran.r-project.org/) 2. Buscar información del paquete en [https://www.rdocumentation.org/](https://www.rdocumentation.org/) --- # 1. Instalando paquetes ```r install.packages("tidyverse") # Instalar remove.packages("tidyverse") # Remover ``` También funciona la noción de una *cadena* de paquetes concatenados por `c()` ```r install.packages(c("tidyverse", "sjPlot", "sjmisc")) # Primera vez ``` --- # 2. Llamar paquetes - Con la función `library()`. -- - Nos dirá algunas informaciones importantes (1) su versión, (2) los paquetes que trae si es una colección de estos (*attaching packages*) y (3) los **conflictos** con otros paquetes que ya tienes cargados. ```r library(tidyverse) ``` --- layout: false class: center middle section-title section-title-3 animated fadeIn # Parte 4: Cargar paquetes --- layout: true class: title title-3 --- # Una forma fácil de cargar paquetes: `pacman` - `pacman` es un paquete que *literalmente* se comió procesos de R `base` y las simplificó en funciones únicas y más intuitivas. ![:scale 40%](data:image/png;base64,#img/01/pacman.jpg) --- # `p_load()` - Resume las funciones `library()` e `install.packages()` - optimiza esta relación entre ambas pues solo las aplica cuando son necesarias (if `requiere()`), es decir, **¡no te reinicia R si ya está instalada la librería!** ```r pacman::p_load(tidyverse, sjPlot, sjmisc) ``` - Las **dependencias entre paquetes** no será un tema del cuál preocuparte pues `pacman::p_load()` lo hace solito 👏🏼 --- # Paquetes del curso: `tidyverse` y `sj*` - En la medida en que vayamos utilizándolas les iremos contando de estas -- - Es decir ¡en el segundo bloque! --- layout: false class: center section-title section-title-1 animated fadeIn # En síntesis .box-1.medium.sp-after-half[R **enviroment**] -- .box-3.medium.sp-after-half[R **consulta**] -- .box-7.medium.sp-after-half[R **comunicación**] -- .box-7.medium.sp-after-half[**Script** y **paquetes** de **R**] --- layout: false .box-1[¿Y eso era?] -- .box-inv-1[¡Solo por el **bloque 1!**] .center[ ![](img/01/monster-inc-2.gif)] --- layout: false class: center middle main-title section-title-1 top-logo .small[ # Herramientas para el uso de R ] .class-info[ <br> **Bloque N° 1**<br> 19 agosto 2021<br> **Análisis de datos estadísticos en R** <br> .pull-right.small[ **Profesora** Valentina Andrade de la Horra <br> **Ayudantes** Dafne Jaime y Nicolás Godoy .tiny[Universidad Diego Portales<br> ] ] ]