background-color: #272822 <br> <br> <br> <br> <br> <br> <h1 style='color:white'> <center> R para contextos humanitarios de emergencia</center></h1> ## <center><font style='color:#E495A5'>P</font><font style='color:#D89F7F'>r</font><font style='color:#BDAB66'>o</font><font style='color:#96B56C'>y</font><font style='color:#65BC8C'>e</font><font style='color:#39BEB1'>c</font><font style='color:#55B8D0'>t</font><font style='color:#91ACE1'>o</font><font style='color:#C29DDE'>s</font> <font style='color:#DE94C8'>y</font> <font style='color:#E495A5'>R</font><font style='color:#D89F7F'>M</font><font style='color:#BDAB66'>a</font><font style='color:#96B56C'>r</font><font style='color:#65BC8C'>k</font><font style='color:#39BEB1'>d</font><font style='color:#55B8D0'>o</font><font style='color:#91ACE1'>w</font><font style='color:#C29DDE'>n</font></center> ### <center><font style='color:#E495A5'>V</font><font style='color:#D89F7F'>i</font><font style='color:#BDAB66'>o</font><font style='color:#96B56C'>l</font><font style='color:#65BC8C'>e</font><font style='color:#39BEB1'>t</font><font style='color:#55B8D0'>a</font> <font style='color:#91ACE1'>R</font><font style='color:#C29DDE'>o</font><font style='color:#DE94C8'>i</font><font style='color:#E495A5'>z</font><font style='color:#D89F7F'>m</font><font style='color:#BDAB66'>a</font><font style='color:#96B56C'>n</font></center> --- background-color: #272822 <br> <br> <br> <br> <br> <br> # <center><font style='color:#E495A5'>P</font><font style='color:#D89F7F'>r</font><font style='color:#BDAB66'>o</font><font style='color:#96B56C'>y</font><font style='color:#65BC8C'>e</font><font style='color:#39BEB1'>c</font><font style='color:#55B8D0'>t</font><font style='color:#91ACE1'>o</font><font style='color:#C29DDE'>s</font></center> --- <div class="my-header"></div> ## Directorio de trabajo R va a buscar en el "directorio de trabajo" por defecto cualquier archivo que le pidas leer (y va a guardarlo ahí también) Puedes averiguar cual es: ```r getwd() ``` ``` ## [1] "C:/Users/viole/Documents/taller_un_colombia" ``` Puedes cambiarlo también: ```r setwd("C\\Users\\violeta\\mi_carpeta_favorita") ``` Pero existe una herramienta para no tener que lidiar con esto: <center>⭐PROYECTOS⭐</center> --- <div class="my-header"></div> ## Siempre vamos a trabajar en proyectos Qué es? - Carpeta que contiene TODOS los archivos relacionados a un proyecto - .R (codigo en R) - Imagenes (.png, .pdf, etc) - Datos (.csv, .xls, etc) Por qué es ventajoso trabajar en ellos? - Es más ordenado - Ayuda a trabajar con *paths* relativos y no absolutos - Si quiero abrir un dato dentro de mi proyecto > "mi_dato.csv" en lugar de > "C\\Users\\violeta\\mi_carpeta_favorita\\mi_dato.csv" --- <div class="my-header"></div> ## Tu turno: Crea un nuevo proyecto en RStudio 1. Haz click en el menú “Archivo” (`File`) y luego en “Nuevo Proyecto” (`New Project`) 2. Haz click en “Nueva Carpeta” (`New Directory`) 3. Haz click en “Nuevo Proyecto” (`New Project`) 4. Escribe el nombre de la carpeta que alojará a tu proyecto, por ejemplo “taller_R” 5. Haz click en “Crear Proyecto” (`Create Project`) --- <div class="my-header"></div> ## Tu turno: Abre tu nuevo proyecto desde el explorador de archivos 1. Cierra RStudio 2. Desde el explorador de archivos, busca la carpeta donde creaste tu proyecto. 3. Haz doble click en el archivo que tiene el nombre de tu proyecto (y que termina con .Rproj) que encontrarás en esa carpeta. --- <div class="my-header"></div> ## Atención!!! Si no estamos en ningún proyecto, o no estamos en el proyecto correcto, **las cosas pueden funcionar mal**. Para **chequear** que estamos en el proyecto correcto: <img src="img/proyecto-check.png" alt="Ejemplo de salida de RMarkdown en formato html." width="700"> --- <div class="my-header"></div> ## Estructura de un proyecto - Carpeta que contiene TODOS los archivos relacionados a un proyecto - Ordenado con sub-carpetas - Subcarpetas que deberían estar si o si (hay que agregarlas) - datos (o data) - img - En general hay una subcarpeta R para contener el código - mi_proyecto/ - datos/ - dataset1.csv - dataset2.xls - img/ - foto1.jpg - diagrama1.png - R/ - limpiar_datos.R --- <div class="my-header"></div> ## Manejo de un proyecto Puedes crear nuevas carpetas para organizar tu proyecto en el explorador de carpetas o en la pestaña `Files` de la alacena de RStudio (abajo a la derecha) Para guardar un archivo de código, haz como normalmente en Windows > File->Save/Save as->Elegir normbre si corresponde + Guardar/Save **Tu turno:** 1. Crea una carpeta llamada R dentro del proyecto creado 1. Crea un archivo con un vector con los numeros del 1 al 30 2. Guarda el vector en una variable llamada `mes` 3. Guarda el codigo con el nombre "mes.R" --- background-color: #272822 <br> <br> <br> <br> <br> <br> # <center><font style='color:#E495A5'>R</font><font style='color:#D89F7F'>M</font><font style='color:#BDAB66'>a</font><font style='color:#96B56C'>r</font><font style='color:#65BC8C'>k</font><font style='color:#39BEB1'>d</font><font style='color:#55B8D0'>o</font><font style='color:#91ACE1'>w</font><font style='color:#C29DDE'>n</font></center> --- <div class="my-header"></div> ## RMarkdown: combinar todo junto ![](img/allisonrmarkdown.png) <p style="color: gray; font-size:15px"> Ilustración adaptada de Allison Horst </p> --- <div class="my-header"></div> ## Una notebook RMarkdown ![](img/rmarkdownintro.png) <p style="color: gray; font-size:15px"> Imagen adaptada del curso "Master the tidyverse" - Garrett Grolemund <br> github.com/rstudio-education/master-the-tidyverse-instructors </p> --- <div class="my-header"></div> ## Tu turno: Crea una notebook RMarkdown 1. File > New File > RMarkdown... 2. Elegir un nombre del archivo 3. Elegir formato deseado 4. Guardar Se genera una plantilla con un ejemplo, extensión del archivo es ".Rmd" Para generar el output hay que apretar el botón Knit <center><img src="img/knit.png" height="250"></center> --- <div class="my-header"></div> ## Estructura de un .Rmd Cualquier archivo de este tipo tiene 3 partes principales: - El **encabezado** o **yaml** que determina características como formato de salida, etc. - El **texto** que puede estar a lo largo de todo el documento - El **código en bloques** o **chuncks** <center><img src="img/elementosRM2.png" alt="Distintas componentes de un archivo RMarkdown. Encabezado, texto y bloques de código." height="325"></center> --- <div class="my-header"></div> ## Markdown Cuando escribimos el texto de nuestro archivo, podemos agregar cierta sintaxis para que el texto generado no se vea solo como un block de notas - **negrita** usando dos asteriscos así: `**negrita**` - *italizada* con un asterisco de cada lado: `*italics*` lista de elementos utilizando guiones medios ``` r - la negrita se consigue con dos asteriscos - la italizada con un asterisco - y para resaltar código se usa el acento grave ` ``` --- <div class="my-header"></div> ## Markdown También: - Títulos con distinta jerarquía agregando `#` al comienzo. Esto además define secciones dentro del documento: ``` # Título ## El primer subtítulo ### Sub con menos jerarquia, etc. ``` - Link a una página externa: "[text to show]""(http://the-web-page.com)" - Incluir una imagen: "!(http://url/for/file)" --- <div class="my-header"></div> ## Posibles resultados finales de RMarkdown - Word - HTML - PDF (se necesita instalar `tinytex::install_tinytex()`, no probar ahora! tarda mucho tiempo) <center> <img src="img/outputRMhtml.png" alt="Ejemplo de salida de RMarkdown en formato html." width="300"> <img src="img/outputRMword.png" alt="Ejemplo de salida de RMarkdown en formato Word." width="300"> </center> <center><img src="img/outputpdf.png" alt="Ejemplo de salida de RMarkdown en formato pdf." width="300"></center> --- background-color: #272822 <br> <br> <br> <br> <br> <br> # <center><font style='color:#E495A5'>A</font><font style='color:#D89F7F'>h</font><font style='color:#BDAB66'>o</font><font style='color:#96B56C'>r</font><font style='color:#65BC8C'>a</font> <font style='color:#39BEB1'>e</font><font style='color:#55B8D0'>s</font> <font style='color:#91ACE1'>t</font><font style='color:#C29DDE'>u</font> <font style='color:#DE94C8'>t</font><font style='color:#E495A5'>u</font><font style='color:#D89F7F'>r</font><font style='color:#BDAB66'>n</font><font style='color:#96B56C'>o</font><font style='color:#65BC8C'>!</font></center> ## <center><font style='color:#E495A5'>A</font><font style='color:#D89F7F'>b</font><font style='color:#BDAB66'>r</font><font style='color:#96B56C'>e</font> <font style='color:#65BC8C'>e</font><font style='color:#39BEB1'>l</font> <font style='color:#55B8D0'>a</font><font style='color:#91ACE1'>r</font><font style='color:#C29DDE'>c</font><font style='color:#DE94C8'>h</font><font style='color:#E495A5'>i</font><font style='color:#D89F7F'>v</font><font style='color:#BDAB66'>o</font> <font style='color:#96B56C'>0</font><font style='color:#65BC8C'>1</font><font style='color:#39BEB1'>-</font><font style='color:#55B8D0'>E</font><font style='color:#91ACE1'>J</font><font style='color:#C29DDE'>-</font><font style='color:#DE94C8'>R</font><font style='color:#E495A5'>M</font><font style='color:#D89F7F'>a</font><font style='color:#BDAB66'>r</font><font style='color:#96B56C'>k</font><font style='color:#65BC8C'>d</font><font style='color:#39BEB1'>o</font><font style='color:#55B8D0'>w</font><font style='color:#91ACE1'>n</font><font style='color:#C29DDE'>.</font><font style='color:#DE94C8'>R</font><font style='color:#E495A5'>m</font><font style='color:#D89F7F'>d</font></center> ### <center><font style='color:#E495A5'>S</font><font style='color:#D89F7F'>i</font><font style='color:#BDAB66'>g</font><font style='color:#96B56C'>u</font><font style='color:#65BC8C'>e</font> <font style='color:#39BEB1'>l</font><font style='color:#55B8D0'>a</font><font style='color:#91ACE1'>s</font> <font style='color:#C29DDE'>i</font><font style='color:#DE94C8'>n</font><font style='color:#E495A5'>s</font><font style='color:#D89F7F'>t</font><font style='color:#BDAB66'>r</font><font style='color:#96B56C'>u</font><font style='color:#65BC8C'>c</font><font style='color:#39BEB1'>c</font><font style='color:#55B8D0'>i</font><font style='color:#91ACE1'>o</font><font style='color:#C29DDE'>n</font><font style='color:#DE94C8'>e</font><font style='color:#E495A5'>s</font></center> --- <div class="my-header"></div> ## Licencia y material usado Licencia: [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/deed.es_ES). Este material está inspirado y utiliza explicaciones de: - [R para Clima](https://eliocamp.github.io/r-clima/) de Paola Corrales y Elio Campitelli - [De excel a R](https://paocorrales.github.io/deExcelaR/index.html) de Paola Corrales y Elio Campitelli - [Master the Tidyverse](https://github.com/rstudio-education/master-the-tidyverse-instructors) de Garrett Grolemund Las diapositivas fueron creadas con el paquete `xaringan`.