class: center, middle, titular background-size: contain <img style="border-radius: 50%;" src="img/masapp.jpg" width="250px"/> # Análisis de datos con R y ShinyApps ## **CAPACITACIÓN** #### LINDA CABRERA ORELLANA<br>FERNANDA JURADO MANTILLA #### Noviembre, 2022 --- name: saludo layout: false class: inverse, middle, center # Sobre nosotras .pull-left[ <img style="border-radius: 50%;" src="img/ljco.jpeg" width="250px"/> ## Linda Cabrera Orellana ### Software Instructor - The Carpentries .fade[Máster en Investigación Matemática<br>Universidad de Valencia, ES] ] .pull-right[ <img style="border-radius: 50%;" src="img/ferjurado.jpeg" width="250px"/> ## Fernanda Jurado Mantilla ### Data Scientist - MASAPP EC .fade[Ingeniera en Estadística e Informática<br>Escuela Superior Politécnica del Litoral, ECU] ] --- # Contenido del curso ### Capítulo 1: Introducción a RStudio. R, RStudio, RStudio Cloud, Paquetes, Proyectos, Scripts, Asignación, Funciones. ### Capítulo 2: Importación y Manipulación de datos en R. Importar datos, Estructuras de datos y Tipos de datos, Transformación de datos, Datos relacionales, Datos ordenados. ### Capítulo 3: Estadística descriptiva. Bases de Estadística, Estadística descriptiva univariada, Estadística descriptiva multivariada. ### Capítulo 4: Análisis exploratorio de datos. Creación de gráficos con `ggplot2`, Gráficos dinámicos con `plotly`. ### Capítulo 5: Introducción a ShinyApps Conexiones a bases de datos, Instalación de Shiny, Creación de dashboards, Creación de objetos interactivos, Expresiones reactivas, Filtros, Conociendo librerías complementarias, Carga del tablero a ShinyApps. --- # Fechas relevantes - 30 horas. - Inicia: 14 de noviembre de 2022. - Finaliza: 19 de diciembre de 2022. - Días clases: 14, 16, 17, 21, 23, 24, 28, 30 de noviembre, 1, 7, 8, 12, 14, 15, 19 de diciembre. - Entrega del proyecto: 5 de enero de 2023. - Horario: De 16h00 a 18h00 - Receso de 10 min. --- class: center, middle, titular background-size: contain <img style="border-radius: 50%;" src="img/masapp.jpg" width="250px"/> # Introducción a RStudio ## **CAPÍTULO 1** #### LINDA CABRERA ORELLANA<br>FERNANDA JURADO MANTILLA #### Noviembre, 2022 --- # Contenido del Capítulo 1 <br> 1. ¿Qué es **R**? y ¿Por qué **R**? 2. **R**, **R**Studio y **R**Studio Cloud 3. Entendiendo **RStudio** 5. Trabajando con **paquetes** 6. Creando **proyectos** y **scripts** 7. **Objetos** 8. **Funciones** 9. **Práctica 1** --- class: middle, center, inverse
# ¿Qué es R? y ¿Por qué R? --- # ¿Qué es R? Algunos datos importantes que debes conocer acerca de
: .pull-left[ <br> * Fue desarrollado inicialmente por Robert Gentleman y Ross Ihaka del Departamento de Estadística de la Universidad de Auckland en 1993. * Es un lenguaje de programación de análisis de datos. * Es un entorno de software libre y tiene licencia GNU GLP (Licencia Pública General de GNU). ] .pull-right[ <img src="img/open-source.jpg" width="90%" style="display: block; margin: auto;" /> ] .footnote[[A Brief History R: Past and Future History](https://www.stat.auckland.ac.nz/~ihaka/downloads/Interface98.pdf)] --- # ¿Por qué R? .pull-left[ <br> * Es uno de los lenguajes de programación más utilizados en investigación científica. * Integra multitud de paquetes. * Capacidad gráfica. * GUI disponibles gratuitas para R, como [Rcmdr](https://www.youtube.com/watch?v=MPCjXq5-FJI) y [Rattle](https://www.youtube.com/watch?v=ARGfOHPVERc). * Existen varias comunidades en el mundo para fomentar el avance del conocimiento y el uso del lenguaje de programación en R. ] .pull-right[ <br> <img src="img/community.jpg" width="100%" style="display: block; margin: auto;" /> ] <br> .footnote[ [Top programming languages used in medical research](https://quantifyinghealth.com/programming-languages-popularity-in-research/) || [#30díasdegráficos](https://github.com/sporella/nightingale) || [The R community](https://blog.revolutionanalytics.com/2017/06/r-community.html)] <!-- class: middle .pull-left[ <br> <br> <br> <br> <br> > *"Cuando comienzas a programar, es fácil sentirte realmente frustrado... Es solo una parte natural de la programación, le sucede a todos y se vuelve cada vez menos con el tiempo. No te culpes. Solo tómate un descanso, haz algo divertido y luego regresa e inténtalo de nuevo más tarde."* (Hadley Wickham) ] .pull-right[ <img style="border-radius: 50%;" src="https://irsa.umn.edu/sites/irsa.umn.edu/files/2021-03/Hadley%20Wickham%20Headshot.png" width="350px"/> ] .footnote[[R for Data Science](https://es.r4ds.hadley.nz/)] --> --- class: middle, center, inverse
# R, RStudio y RStudio Cloud --- background-image: url("img/ide.png") background-size: contain --- # Instalación de R Es necesario realizar la instalación en el mismo orden que se indica aquí, es decir instalar primero R y luego RStudio. 1. Para descargar R, ingresa a [CRAN](https://cran.rstudio.com/) y elige el sistema operativo de tu computadora. **CRAN** es un acrónimo *Comprehensive R Archive Network* (Red integral de archivos R) para el lenguaje de programación R. 2. Si tu sistema operativo es `Windows`, en la siguiente pantalla que te aparece elige la primera opción que indica `base`. Luego haz clic para iniciar la descarga del instalador de la última versión de R para Windows. 3. Si tu sistema operativo es `macOS`, elige la primera opción que indica `R-4.2.2-arm64.pkg` para iniciar la descarga del instalador. 4. Cuando se haya terminado de descargar el instalador, abre el ejecutable, elige el idioma español y sigue todos los pasos para su instalación dando clic en siguiente. Este proceso de instalación puede durar algunos minutos. 5. Cuando se haya completado la instalación, para confirmar que se hizo correctamente nos dirigimos a las aplicaciones y hacemos clic en `Inicio -> Todas las aplicaciones -> R -> R X64 4.2.0`. --- # Instalación de RStudio 1. Con R instalado, ahora procederemos a descargar RStudio desde [https://posit.co/download/rstudio-desktop/](https://posit.co/download/rstudio-desktop/). 2. Hacer clic en el ejecutable que se ha descargado e inicia la instalación siguiendo todos los pasos. Para confirmar que la instalación se hizo correctamente nos dirigimos a las aplicaciones y hacemos clic en `RStudio`. <br> # RStudio Cloud La plataforma se encuentra en internet y no necesitamos instalar ningún IDE, ni ninguna herramienta como R. Fue liberada en el 2019 por RStudio. 1. Ingresar a [RStudio Cloud](https://rstudio.cloud/). 2. Crear una cuenta en RStudio Cloud. --- background-image: url("img/rstudiocloud.jpg") background-size: contain --- class: middle, center, inverse
# Entendiendo RStudio --- # Entendiendo RStudio <div class="figure" style="text-align: center"> <img src="img/entorno.png" alt="4 Paneles fundamentales de la Consola de RStudio" width="100%" /> <p class="caption">4 Paneles fundamentales de la Consola de RStudio</p> </div> --- ## Consola * Se puede codificar directamente, pero no guardará el código. * Puedo ingresar operaciones matemáticas directamente: * La función `getwd()` sirve para conocer el directorio en el que me encuentro actualmente <br> -- ## Pantallas varias * **Archivos:** Le permite ver qué archivos están disponibles en su directorio de trabajo. * **Gráficos:** Mostrará cualquier visualización que produzca su código. * **Paquetes:** Mostrará una lista de todos los paquetes descargados a su computadora y también los que están cargados. * **Ayuda:** Permite buscar temas sobre los que necesita ayuda y también mostrará las respuestas de ayuda. <br> .footnote[[Editing and Executing Code in the RStudio IDE](https://support.posit.co/hc/en-us/articles/200484448-Editing-and-Executing-Code)] --- ## Archivos de comandos * Archivos de script, por ejemplo el archivo R. * Para ejecutar código: 1. La línea de código fuente donde reside el cursor, presione `Ctrl+Enter` (o use el botón `Run`). 2. Seleccione varias líneas a la vez y presione `Ctrl+Enter`. 3. Todo el documento, presione `Ctrl+Shift+Enter` (o use el botón `Source`). * Puede comentar y descomentar mediante el elemento de menú `Code -> Comment/Uncomment Lines` o presionando `Ctrl+Shift+C` o escribiendo el signo numeral. <br> -- ## Entorno del espacio de trabajo * Incluye cualquier objeto definido por el usuario (vectores, matrices, marcos de datos, listas, funciones). --- class: middle, center, inverse
# Trabajando con paquetes <br> En R, la unidad fundamental del código compartible es el paquete. Un paquete agrupa código, datos, documentación y pruebas y proporciona un método fácil para compartir con otros. --- # Instalando Paquetes .pull-left[ ### 1. **Desde CRAN** Repositorio oficial compuesto de un conjunto de servidores web y ftp mantenidos por la comunidad R a lo largo de todo el mundo. ```r install.packages("tidyverse") ``` <br> ### 2. **Desde Bioconductor** Se trata de un repositorio específico para bioinformática. Puede revisar más información en [https://www.bioconductor.org/](https://www.bioconductor.org/) ] .pull-right[ ### 3. **Con `devtools`** ```r install.packages("devtools") devtools::install_github("hadley/babynames") ``` <br> ### 4. **Interfaz gráfica** * Desde la barra de Herramientas, escogemos la opción `Tools -> Install packages...` * Desde el panel de *pantallas varias* en la pestaña de `Packages` ] --- # Cargando Paquetes Una vez que el paquete se descarga en su computadora, puede acceder a las funciones y recursos proporcionados mediante código: ```r # carga el paquete para usar en la sesión actual de R library(tidyverse) # usar una función particular dentro de un paquete sin cargar el paquete dplyr::filter() ``` También puede cargar los paquetes desde el panel de *pantallas varias* en la pestaña de `Packages`. RStudio compiló una guía con algunos de los mejores paquetes para cargar, manipular, visualizar, analizar e informar datos, que la puedes encontrar en [https://support.rstudio.com/hc/en-us/articles/201057987-Quick-list-of-useful-R-packages](https://support.rstudio.com/hc/en-us/articles/201057987-Quick-list-of-useful-R-packages). --- class: middle, center, inverse
# Creando proyectos y scripts --- # Proyectos .pull-left[ <img style="border-radius: 20%;" src="img/folders.png" width="600px"> ] .pull-right[ * Carpetas que contienen los scripts, archivos desde donde se importan los datos y los archivos de proyecto como el .RData (contiene los objetos con los que se está trabajando) y .Rhistory (contiene el historial de comandos). * Cada vez que se abre un proyecto existente, se abren las ventanas que se encontraban activas en ese proyecto. * Para crear un proyecto seguimos los siguientes pasos: `Project -> New Project... -> New Directory -> Empty Project -> "Poner nombre al proyecto y elegir ruta" -> Create Project` ] --- # Scripts Los scripts son documentos de texto con la extensión de archivo `.R`, por ejemplo `mi_script.R`. Estos archivos son iguales a cualquier documento de texto, pero R puede leer y ejecutar el código que contienen. Puedo crear un script: 1. Utilizando la ruta `File -> New File -> R Script`. 2. Utilizando el atajo `Ctrl+Shift+N`. No te olvides comentar tu script, para crear secciones utiliza `Ctrl+Shift+C`. --- class: middle, center, inverse
# Generalidades --- # R como una calculadora .pull-left[ En su forma más básica, R puede usarse como una calculadora simple. Considere los siguientes operadores aritméticos para realizar operaciones matemáticas básicas: - Suma: `+` - Resta: `-` - Multiplicación: `*` - División: `/` - Exponenciación: `^` ] .pull-right[ ```r ## Sumas 3 + 2 ## [1] 5 ## Restas 5 - 1 ## [1] 4 ## Multiplicación 4 * 7 ## [1] 28 ## División (6 + 8) / 2 ## [1] 7 ## Potencia 3^4 ## [1] 81 ``` ] --- # Asignación - Creando objetos Un concepto básico en la programación (estadística) se llama **variable**. Una variable le permite almacenar un valor o un objeto en R usando `<-` (`Alt+-`). Luego puede usar el nombre de esta variable para acceder fácilmente al valor o al objeto que está almacenado dentro de esta variable. Por ejemplo, puede asignar un valor de 6 a una variable `mi_var`: ```r ## crear la variable mi_var mi_var <- 6 ## imprimir el valor guardado en la variable mi_var ## [1] 6 ``` Los nombres de los objetos deben comenzar con una letra y solo pueden contener letras, números, `_` y `.`. Se recomienda que los nombres sean descriptivos. Observe que los objetos creados se almacenan en `Environment` en el panel workspace environment. --- # Asignación - Creando objetos ### Ejercicio: **Supongamos que tenemos una canasta de frutas con cuatro manzanas, almacene este valor en una variable con el nombre `manzanas`. Toda cesta de frutas sabrosa necesita naranjas, así que decide añadir cinco naranjas, por lo que crea la variable `naranjas` y le asigna el valor 5. ¿Cuántas piezas de fruta tiene en total?** ```r ## crea las variables manzanas <- 4 naranjas <- 5 ## realiza la operación manzanas + naranjas ## [1] 9 ``` Los operadores aritméticos funcionan con variables numéricas. --- # Funciones <br> <img src="img/funcion2.png" width="100%" style="display: block; margin: auto;" /> --- # Funciones .pull-left[ R tiene una gran colección de funciones integradas que se usan así: <img src="img/funcion.png" width="90%" style="display: block; margin: auto;" /> Por ejemplo, para calcular el promedio de un conjunto de números podemos utilizar la función `mean()` de R `{base}`. ] .pull-right[ ### Ejercicio: **Calcule la edad promedio de los niños que están en una guardería. Luis tiene 2 años, Marís tiene 3 años, José tiene 4 años, Lucía tiene 5 años y Julia tiene 6 años.** ```r ## sumamos las edades en una variable ejercicio <- 2+3+4+5+6 ## dividimos el resultado para el total de niños ejercicio / 5 ## [1] 4 ## calcular el promedio de un conjunto de datos mean(c(2,3,4,5,6)) ## [1] 4 ``` ] --- background-color: var(--azul-claro) class: middle, center, inverse
## PRÁCTICA 1 --- #
Práctica 1 1. Crea un proyecto en tu computadora denominado "Curso_R". 2. En el nuevo proyecto crea un script denominado "practica1". 3. En el script: 1. Crea una variable, asígnale el valor de 20. 2. Crea otra variable, asígnale el valor de 3. 3. Crea otra variable que contenga la resta de la primera y segunda variable que creaste y elévala al cuadrado. 4. Imprime el resultado. --- class: middle, center, inverse <br> <br> ## Introducción a RStudio ## **CAPÍTULO 1** <br> <br> .center[ ### [@MasappEC
](https://www.facebook.com/MasappEC/) ### [@Masappdata
](https://twitter.com/Masappdata) ]