class: center, middle, titular background-size: contain <img src="img/see_azul.jpeg" width="300px"/> # Capítulo 1: Introducción a Rstudio ## **PROGRAMA INTERNACIONAL DE ESTADÍSTICA APLICADA A LA INVESTIGACIÓN CIENTÍFICA** #### MÓDULO: MANEJO DE SOFTWARE <br> <br> Linda Cabrera Orellana #### Octubre, 2022 --- #
Contenido del módulo - **Capítulo 1: Introducción a RStudio.** R, RStudio, RStudio Cloud, Ayuda, Paquetes, Proyectos, Scripts y Generalidades. - **Capítulo 2: Importación y orden de los datos en R.** Calidad de los datos, Importar datos, Estructuras de datos y Tipos de datos. - **Capítulo 3: Manipulación de datos en R.** Transformación de datos, Datos relacionales, Datos ordenados. - **Capítulo 4: Análisis exploratorio de datos.** Creación de gráficos, Estadística descriptiva. - **Capítulo 5: Comunicando resultados en R.** Introducción a Rmarkdown, Notebooks para ejecutar directamente fragmentos de código de forma interactiva incluyendo gráficos y tablas, Diapositivas para presentaciones (HTML5, LaTeX Beamer o PowerPoint), Formatos de artículos de revistas y libros, Conectar RStudio y GitHub. --- #
Horario del módulo - Duración: Del 3 al 19 de octubre de 2022. | Hora | Contenido | |:--------:|:--------------| | 19:00 a 19:45 | Bloque 1 | | 19:45 a 20:50 | Receso 1 | | 20:50 a 20:35 | Bloque 2 | | 20:35 a 20:45 | Receso 2 | | 20:45 a 21:30 | Bloque 3 | --- class: middle, center
# **INTRODUCCIÓN A R** ## CAPÍTULO 1 --- #
Contenido del Capítulo 1 1. ¿Qué es **R**? y ¿Por qué **R**? 2. **R**, **R**Studio y **R**Studio Cloud 3. Entendiendo **R**Studio 4. Obteniendo **ayuda** 5. Trabajando con **paquetes** 6. Creando **proyectos** y **scripts** 7. Generalidades 8. **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[ * 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[ * 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[ <img src="img/community.jpg" width="100%" style="display: block; margin: auto;" /> ] .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> > *"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 --- #
R y RStudio Descarga el archivo denominado *"Manual_instalación_r.pdf"* que se encuentra en la carpeta compartida de google drive del Módulo. En este documento encontrarás un manual para la instalación de R y 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> --- .pull-left[ ##
**Consola** * Se puede codificar directamente, pero no guardará el código. * Puedo ingresar operaciones matemáticas directamente: ```r 8*4 ## [1] 32 ``` * La función `getwd()` sirve para conocer el directorio en el que me encuentro actualmente ] -- .pull-right[ ##
**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`). ] .footnote[[Editing and Executing Code in the RStudio IDE](https://support.rstudio.com/hc/en-us/articles/200484448-Editing-and-Executing-Code)] --- .pull-left[ ##
**Archivos de comandos** * Puede comentar y descomentar mediante el elemento de menú `Código -> Comentar/Descommentar líneas` o presiones `Comando+Mayús+C` o escribiendo el signo numeral. ```r # use print para imprimir un texto o resultado print("mi nombre es Linda") ## [1] "mi nombre es Linda" ``` ##
**Entorno del espacio de trabajo** * Incluye cualquier objeto definido por el usuario (vectores, matrices, marcos de datos, listas, funciones). ] -- .pull-right[ ##
**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. ] --- class: middle, center, inverse
# Obteniendo ayuda --- .pull-left[ #
Desde la consola * `help.start()` proporciona enlaces de ayuda general. * `help.search()` busca en el sistema de ayuda la documentación que coincida con un carácter dado debe introducir cadena de texto. * `help()` proporciona detalles para una función específica instalada en tu pc * `RSiteSearch()` busca la frase clave en manuales de ayuda y listas de correo archivadas en el sitio web de [R Project](http://search.r-project.org/) ```r RSiteSearch("string") ``` ] -- .pull-right[ #
Desde la web *
[oogle](https://www.google.com/) *
StackOverflow en [http://stackoverflow.com/](http://stackoverfl ow.com/questions/tagged/r) *
Cross Validated en [http://stats.stackexchange.com/](http://stats.stackexchange.com/questions/tagged/r) * R-seek en [http://rseek.org/](http://rseek.org/) * R-bloggers en [http://www.r-bloggers.com/](http://www.r-bloggers.com/) ] --- class: middle, center, inverse
# Trabajando con paquetes --- class: middle, center #
Packages <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") ``` ### 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") ``` ### 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 --- .pull-left[ <img style="border-radius: 20%;" src="img/folders.png" width="500px"> ] .pull-right[ #
Proyectos * 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+R`. --- class: middle, center, inverse
# Generalidades --- #
R como una calculadora ```r 20*3 # multiplicación ## [1] 60 16/3 # división ## [1] 5.333333 sqrt(81) # raíz cuadrada ## [1] 9 log(exp(1)) # logaritmo neperiano de e ## [1] 1 log(100, 10) # logaritmo base 10 de 100, también log10(100) ## [1] 2 exp(10) # euler elevado a la 10 ## [1] 22026.47 sin(pi/2) # seno de pi medio ## [1] 1 ``` --- #
Asignación Una asignación evalúa la expresión y guarda el resultado en una variable pero no lo imprime. Puedes crear objetos nuevos usando `<-` (`Alt+-`). ```r x <- 20*3 x ## [1] 60 ``` Los nombres de los objetos deben comenzar con una letra y solo pueden contener letras, números, `_` y `.`. Es mejor que los nombres sean descriptivos. ```r dato_calculo <- 5*2 dato_calculo ## [1] 10 ``` Observa que los objetos creados se almacenan en `Environment` en el panel workspace environment. --- #
Funciones .pull-left[ R tiene una gran colección de funciones integradas que se usan así: <img src="img/funcion.png" width="100%" style="display: block; margin: auto;" /> Por ejemplo, para hacer secuencias de números podemos utilizar la función `seq()` del paquete base `{base}`. ] .pull-right[ ```r # generar secuencias de números del 1 al 10 seq(from=1, to=10) ## [1] 1 2 3 4 5 6 7 8 9 10 # generar secuencias de números del 1 al 10 # saltando 2 números seq(from=1, to=10, by=2) ## [1] 1 3 5 7 9 # argumentos sin etiquetas seq(1, 10, 2) ## [1] 1 3 5 7 9 # secuencia de 3 números del 1 al 10 # lo divide en partes iguales seq(from=1, to=10, length.out=3) ## [1] 1.0 5.5 10.0 ``` ] --- background-color: var(--azul-claro) class: middle, center, inverse
## PRÁCTICA 1 --- #
Práctica 1 1. Crea un proyecto en tu computadora denominado "SEE_PracticasR". 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> # **¡FIN!** ## Introducción a RStudio .pull-left[ .center[ ### [@socecuest
](https://www.facebook.com/socecuest) ### [@see_estadistica
](https://www.instagram.com/see_estadistica/) ]] .pull-right[ .center[ ### [@see_estadistica
](https://twitter.com/see_estadistica) ### [@sosecuest
](https://t.me/sosecuest) ]]