class: inverse, center # <svg style="height:0.8em;top:.04em;position:relative;fill:steelblue;" viewBox="0 0 581 512"><path d="M581 226.6C581 119.1 450.9 32 290.5 32S0 119.1 0 226.6C0 322.4 103.3 402 239.4 418.1V480h99.1v-61.5c24.3-2.7 47.6-7.4 69.4-13.9L448 480h112l-67.4-113.7c54.5-35.4 88.4-84.9 88.4-139.7zm-466.8 14.5c0-73.5 98.9-133 220.8-133s211.9 40.7 211.9 133c0 50.1-26.5 85-70.3 106.4-2.4-1.6-4.7-2.9-6.4-3.7-10.2-5.2-27.8-10.5-27.8-10.5s86.6-6.4 86.6-92.7-90.6-87.9-90.6-87.9h-199V361c-74.1-21.5-125.2-67.1-125.2-119.9zm225.1 38.3v-55.6c57.8 0 87.8-6.8 87.8 27.3 0 36.5-38.2 28.3-87.8 28.3zm-.9 72.5H365c10.8 0 18.9 11.7 24 19.2-16.1 1.9-33 2.8-50.6 2.9v-22.1z"/></svg> para análisis de datos <br> <br> ## `Introducción a R` <br> <br> <br> .large[Roxana N. Villafañe | LEMyP | <a href='http://twitter.com/data_datum'><svg style="height:0.8em;top:.04em;position:relative;fill:steelblue;" viewBox="0 0 512 512"><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> @data_datum</a>] <br> .large[Florencia D'Andrea | INTA-CONICET | <a href="http://twitter.com/cantoflor_87"> <svg style="height:0.8em;top:.04em;position:relative;fill:steelblue;" viewBox="0 0 512 512"><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> @cantoflor_87</a><br>] <br><br><br><br><br> Slides disponibles en <https://flor14.github.io/intro_r/intro_r.html#1> ✨ <br> Página web del curso en <https://flor14.github.io/Curso_r_unne_2020/> 🌟 --- class: center, middle # Nota Las filminas del primer dia de clase se basan en el curso que se dio en 2019 en la JAIIO https://flor14.github.io/r_cai_2019/ --- class: center, middle # Configuración <img src="1_modoon.png" width="600px" style="display: block; margin: auto;" /> --- # Obteniendo Datos **Campo** Obtención de datos a campo – Planillas _Ej: Planilla con valores de presencia – ausencia de especies_ **Laboratorio** Procesamiento de muestras de experimentos. Mediciones. _Ej: Planilla con valores de mediciones enzimáticas._ **Bases de datos** Trabajo sobre datos ya obtenidos _Ej: Datos de estaciones meteorológicas._ <img src="toma_muestra.jpg" width="300px" style="display: block; margin: auto;" /> --- background-image: url(cajanegra.png) background-size: contain --- class: center, middle # Ciencia de Datos <img src="cajanegra2.png" width="800px" style="display: block; margin: auto;" /> .footnote[**Fuente**: https://es.r4ds.hadley.nz/explorar-introduccion.html] --- class: center, middle, inverse # ¿Por qué programar? --- class: center, middle Cuando un trabajo se hace a manualmente, el tiempo empleado para realizar un trabajo suele ser directamente proporcional a la cantidad de trabajo <img src="2_graf.png" width="600px" style="display: block; margin: auto;" /> .footnote[http://mclibre.org/consultar/python/otros/lenguajes-programacion.html ] --- class: center, middle <img src="3_graf.png" width="600px" style="display: block; margin: auto;" /> .footnote[http://mclibre.org/consultar/python/otros/lenguajes-programacion.html ] --- class: center, middle Al final, el informático puede hacer más trabajo sin necesidad de invertir más tiempo, mientras que el no informático descubre que no puede competir. <img src="3_graf.png" width="600px" style="display: block; margin: auto;" /> .footnote[http://mclibre.org/consultar/python/otros/lenguajes-programacion.html ] --- class: center, middle, inverse # La programación nos permite <span style="color:#53edc9">automatizar</span> tareas --- class: center, middle, inverse ## Nos permite manejar <span style="color:#53edc9">bases de datos más grandes</span>. ## Los <span style="color:#53edc9">paquetes</span> permiten explorar varias funcionalidades de forma relativamente sencilla. --- class: center, middle, inverse ## <span style="color:#53edc9">Múltiples formas de comunicar resultados</span>: ### con R podes crear reportes en distintos formatos, paginas web, mapas, gráficos, libros, posters, presentaciones, etc... ## Es software <span style="color:#53edc9">libre</span> 🕊️ --- class: center, middle <img src="5_r.png" width="900px" style="display: block; margin: auto;" /> --- background-image: url(6_r.png) background-size: contain class: center, middle --- class: center, middle background-size: contain background-image: url(7_r.png) .footnote[https://rss.onlinelibrary.wiley.com/doi/10.1111/j.1740-9713.2018.01169.x] --- <img src="importar.png" width="900px" style="display: block; margin: auto;" /> --- class: center, middle, inverse # R y RStudio IDE --- class: center, middle <img src="8_r.png" width="900px" style="display: block; margin: auto;" /> --- class: center, middle En nuestra máquina, se presentan dos íconos <img src="9_r.png" width="900px" style="display: block; margin: auto;" /> --- class: center, middle Para instalar R y R-Studio pueden usar el link que esta en la página del curso. Cuando lo instalamos en nuestra máquina, se presentan dos íconos <img src="10_r.png" width="600px" style="display: block; margin: auto;" /> --- class: center, middle, inverse # R y <span style="color:#53edc9">RStudio IDE</span> --- background-image: url(12_rstusio2.png) background-size: contain --- background-image: url(13_rstudio.png) background-size: contain --- class: center, middle, inverse # Paquetes 📦 --- # Paquetes 📦 <img src="14_paq.png" width="800px" style="display: block; margin: auto;" /> --- # Funciones <img src="funciones.png" width="800px" style="display: block; margin: auto;" /> --- # ¿Cuál es la diferencia entre un paquete y una libreria? <img src="15_paquete.png" width="800px" style="display: block; margin: auto;" /> --- # ¿Cuál es la diferencia entre un paquete y una libreria? <img src="16_lib.png" width="800px" style="display: block; margin: auto;" /> --- background-image: url("17_paq.png") background-size: contain --- background-image: url(18_vigne.png) background-size: contain --- # Repositorios ☁️ <img src="19_repo.png" width="800px" style="display: block; margin: auto;" /> --- <img src="20_dede.png" width="800px" style="display: block; margin: auto;" /> --- class: center, middle, inverse # Uso de Proyectos --- background-image: url(21_pro.png) background-size: contain --- background-image: url(22_pro.png) background-size: contain --- class: center, middle, inverse # DEMO 1 🙌💻 Diferencia entre R y RStudio Abrir un proyecto de trabajo Instalar y llamar un paquete en R --- # Mensajes en R ### <span style="color:red">Errores</span> Generalmente cuando hay un error, el código no se ejecutará. ### <span style="color:yellow">Advertencias</span> En general, el código seguirá funcionando, pero hay algo a revisar o estar atentos. ### <span style="color:green">Mensajes</span> Son mensajes de diagnóstico útiles y no impiden que el código funcione. <img src="semaforo.jpg" width="100px" style="display: block; margin: auto;" /> --- background-image: url(24horst.png) background-size: contain --- background-image: url(25_google.png) background-size: contain --- background-image: url(26_comm.png) background-size: contain --- background-image: url(27_stack.png) background-size: contain --- class: center, middle <img src="28_twitter.png" width="800px" style="display: block; margin: auto;" /> --- class: center, middle # Comunidades .pull-left[ ### R-Ladies <img src="rladiesrcia.jpg" width="200px" style="display: block; margin: auto;" /> [Twitter](https://twitter.com/rladies_rciacte?lang=es) ] .pull-right[ ### R en el NEA <img src="renelnea.png" width="200px" style="display: block; margin: auto;" /> [Twitter](https://twitter.com/NeaRenel) ] --- class: center, middle # Avanza muy rápido 📈 <img src="cran.png" width="400px" style="display: block; margin: auto;" /> --- class: center, middle # La comunidad de R es twittera 🐦 <img src="twit.png" width="400px" style="display: block; margin: auto;" /> --- class: center, middle, inverse <img src="tidyverse.png" width="40%" align="middle" /> # Tidyverse 🌌 --- background-image: url(29_ti.png) background-size: contain --- background-image: url(30_ti.png) background-size: contain --- background-image: url(31_ti.png) background-size: contain --- background-image: url(32_ti.png) background-size: contain --- background-image: url(33_gg.png) background-size: contain --- background-image: url(34_gg.png) background-size: contain --- background-image: url(35_sinta.png) background-size: contain --- background-image: url(36_sinta.png) background-size: contain --- background-image: url(37_ti.png) background-size: contain # Tidyverse 🌌 --- background-image: url(38_ti.png) background-size: contain # Tidyverse 🌌 --- <img src="tidyverse.png" width="10%" align="right" /> # Tidyverse 🌌 Las funciones de los paquetes del Tidyverse y los de R base pueden coincidir <img src="39_ti.png" width="500px" style="display: block; margin: auto;" /> --- class: center, middle, inverse # Los paquetes del tidyverse se escriben diferente, tienen una <span style="color:#53edc9">sintaxis</span> particular --- background-image: url(40_synt.png) background-size: contain <img src="tidyverse.png" width="10%" align="right" /> --- background-image: url(41_pipes.png) background-size: contain --- background-image: url(42_pipes.png) background-size: contain --- class: center, middle, inverse ## `f(x,y)` seria idéntico a escribir ## `x %>% f(y)` --- background-image: url(43_entonces.png) background-size: contain --- class: center, middle, inverse # Importar datos --- background-image: url(44_import.png) background-size: contain --- <img src="importar.png" width="800px" style="display: block; margin: auto;" /> --- # Vector <img src="45_vector.png" width="800px" style="display: block; margin: auto;" /> .footnote[*Analogía de Jenny Bryan* - https://speakerdeck.com/jennybc/data-rectangling *Software Carpentry* - http://swcarpentry.github.io/r-novice-gapminder/04-data-structures-part1/index.html ] --- # dataframe <img src="46_df.png" width="800px" style="display: block; margin: auto;" /> .footnote[*Analogía de Jenny Bryan* - https://speakerdeck.com/jennybc/data-rectangling *Software Carpentry* - http://swcarpentry.github.io/r-novice-gapminder/04-data-structures-part1/index.html ] --- # dataframe <img src="47_df.png" width="800px" style="display: block; margin: auto;" /> .footnote[*Analogía de Jenny Bryan* - https://speakerdeck.com/jennybc/data-rectangling *Software Carpentry* - http://swcarpentry.github.io/r-novice-gapminder/04-data-structures-part1/index.html ] --- class: center, middle # Importar archivos desde Excel 📎 <img src="47_2_imp.png" width="800px" style="display: block; margin: auto;" /> --- class: center, middle # Formas de importar archivos <img src="48_readr.png" width="600px" style="display: block; margin: auto;" /> --- class: center, middle # Otros paquetes 📦 <img src="49_dt.png" width="600px" style="display: block; margin: auto;" /> --- class: center, middle, inverse # DEMO 2 🙌💻 Importar una base de datos Escribir con pipes --- class: inverse, center, middle # 🙋 ¿Preguntas? --- class: inverse # Práctica 🙌 - Inicien un proyecto dónde van a realizar las actividades del curso - Instalar `tidyverse`, `datos`, `tidymodels`, `GGally`, `gapminder`, `mlbench` - Observar que hay dentro de un paquete usando `::` - Importar un dataset desde excel - Pipes --- class: inverse # Práctica 🙌 ## ¿Cómo escribirían este código con pipes? El dataset inicial se llama `babynames` ```r # primer caso babynames <- filter(babynames, year == 2015, sex == "M") babynames <- select(babynames, name, n) babynames <- arrange(babynames, desc(n)) babynames # segundo caso boys_2015 <- filter(babynames, year == 2015, sex == "M") boys_2015 <- select(boys_2015, name, n) boys_2015 <- arrange(boys_2015, desc(n)) boys_2015 ``` --- class: inverse # Práctica 🙌 ## Rta ```r babynames %>% filter(year == 2015, sex == "M") %>% select(name, n) %>% arrange(desc(n)) ```