# Introducción R
###### tags: `UAX` `Estudiantes` `Bioinformatica I` `Doctorado Nuevas terapias`
<font color = 'gray'>
<p style="text-align:right;">Prof.: Laura J. Marcos-Zambrano </font>
### Instalación de R y RStudio
R y RStudio son dos instalaciones diferentes. "R" es el programa estadístico de base, mientras que RStudio es un entorno gráfico que permite que R sea más facil de usar y más interactivo. Antes de instalar RStudio, primero hay que instalar R y posteriormente instalaremos los paquetes con los que vamos a trabajar.
A continuación dejo las instrucciones para descargar e instalar ambos programas según el sistema operativo.
## Windows
* Descarga R [aquí](https://cran.r-project.org/bin/windows/base/).
* Ejecuta el archivo `.exe` que acabas de descargar.
* Ve a la página de descargas de R Studio [aquí](https://www.rstudio.com/products/rstudio/download/#download).
* Busca en "All installers" y selecciona la versión de R Studio más reciente.
* Instala el archivo
#### Instalación de Rtools :warning:
Solamente en el caso de descargar R y RStudio en Windows, conviene descargar e instalar [Rtools](https://cran.r-project.org/bin/windows/Rtools/) para poder instalar librerías adecuadamente o, en el caso de necesitarlo en un futuro, desarrollar nuestras propias librerías.
## Mac
* Descarga R [aquí](https://cran.r-project.org/bin/macosx/).
* Selecciona el archivo `.pkg` con la versión más reciente de R.
* Doble-click en el archivo descargado para iniciar la instalación.
* Instala XQuartz (lo necesita algunos paquetes) [aquí](https://www.xquartz.org/) lo puedes descargar.
* Ve a la página de descargas de R Studio [aquí](https://www.rstudio.com/products/rstudio/download/#download).
* Busca en "All installers" y selecciona la versión de R Studio más reciente - macOS
* Doble-click en el archivo para instalar RStudio.
:::info
En caso de no saber el tipo de sistema de nuestro ordenador, podemos consultarlo de la siguiente manera para cada sistema operativo:
Windows: [¿Qué versión del sistema operativo Windows tengo? - Soporte técnico de Microsoft](https://support.microsoft.com/es-es/windows/-qu%C3%A9-versi%C3%B3n-del-sistema-operativo-windows-tengo-628bec99-476a-2c13-5296-9dd081cdd808)
macOS: [Is my Mac 64 bit or 32? Quick Guide to Find out - The Mac Observer](https://www.macobserver.com/tips/how-to/mac-32-bit-64-bit/)
:::
## Uso básico de R
Instalar un par de paquetes
```r=1
install.packages("BiocManager")
BiocManager::install(c("tidyverse", "SummarizedExperiment"))
```
### Ejemplos
* R como calculadora
```r=1
1 / 200 * 30
#> [1] 0.15
(59 + 73 + 2) / 3
#> [1] 44.66667
sin(pi / 2)
#> [1] 1
```
* Crear objetos con `<-`
```
x <- 3 * 4
```
```
este_objeto <- valor
```
Lee el código como "este_objeto tiene este valor"
Si quieres ver que vale una variable puedes "llamarla"
```
x
este_objeto
```
Cuidado con los nombres
```
r_rocks <- 2 ^ 3
```
Escribe
```
r_rock
R_rock
```
¿Qué pasa?
* Crear un vector de números con la función Combine `c`
```
num <- c(4,6,9,10,22,31)
num
```
Comentarios y dataframes
```
#Acuerdate del dataframe
mtcars <- mtcars
starwars <- starwars
```
* Gráficos básicos
```r=1
plot(1,5)
plot(x=mtcars$wt, y=mtcars$mpg)
hist(mtcars$mpg)
```
## Entorno de trabajo y proyectos:
#### Directorio de trabajo
Cuando iniciemos una sesión de R y desarrollemos un script, es muy posible que deseemos guardar éste o el contenido de alguna variable en una ubicación en concreto de nuestro ordenador. El directorio de trabajo es, efectivamente, la carpeta en el que se encuentran alojados los ficheros de datos, archivos de código y otros documentos que estemos usando.
En caso de no conocer el directorio de trabajo actual utilizado por R, podemos determinarlo mediante la siguiente función sin indicar ningún argumento:
`getwd()`
Asimismo, si nos interesa que este directorio se corresponda con otra ubicación de nuestro ordenador, podemos especificar la ruta deseada mediante esta otra función, esta vez indicando esta ruta entre comillas:
`setwd()`
#### Proyecto de RStudio
En ciertas ocasiones, por ejemplo cuando estemos trabajando con conjuntos de datos de distinto origen y deseemos realizar análisis con ellos por separado, resulta muy útil la creación de proyectos de RStudio para poder trabajar de forma ordenada. Estos proyectos pueden ser alojados en el directorio que elijamos y los archivos contenidos en él pasan a formar parte de dicho proyecto.
* Para crear un proyecto en RStudio:
* Vamos a la esquina superior derecha, por encima de la ventana de utilidades.

* Elegimos si queremos crear un nuevo directorio o usar uno existente.

* En nuestro caso:
* Nuevo directorio, seleccionamos "Nuevo proyecto"

* Creamos un nuevo directorio llamado "PracticasR" y pulsamos "Crear proyecto"

## RMarkdown e informes dinámicos:
En numerosas ocasiones, puede resultar muy útil presentar nuestros resultados en informes dinámicos que podemos construir en RStudio gracias a ficheros R Markdown, que usan la extensión .Rmd.
* Instalar paquete markdown
`install.package("markdown")`
* Hacer click en la ventana sobre el editor el icono de nuevo e ir a "nuevo markdown"

* Seleccionatr el nombre y tipo de markdown que queremos hacer. (Poner nuestros datos, fechas y elegir .pdf)

* Ya tenemos nuetsro markdown creado, ahora escribimos nuestros script
> Recuerda que los comentarios siempre van con "#" delante
* Para finalizar hacer click en "knit" con el icono de una bola de tejer

## Actividad final:
* Crear un archivo de RMarkdown en *pdf* o *word* con las instrucciones para:
* Cargar el paquete *tidyverse*.
* Crear un dataframe con los datos de "starwars"
* Usar el pipe `%>%` para seleccionar las especies.
:::spoiler
:memo: Respuesta:
```r=1
library(tidyverse)
starwars <- starwars
starwars %>% select(species)
```
:::
## R Markdown
Se genera un script con mucha información, explicando el uso de Rmarkdown. Hay que borrar todo excepto lo que esté entre los guiones
```
---
title: "Practica"
author: "Laura Marcos"
date: "2023-10-03"
output: word_document
---
```
Y luego poner tres comillas, indicar el lenguaje y escribir el codigo:
Ejemplo:

Al finalizar ir a "Knit" y en la flechita poner knit to word

---
**Ejercicio:**
* Descarga el dataset `toy.csv` cargalo en R studio usando la función `read_csv` de la libreria `tidyverse`. Tienes que poner la dirección donde has guardado el archivo descargado. En el ejemplo, el archivo está en la carpeta "Descargas"
```r=1
toy <- read_csv("Descargas/toy.csv")
```
> IMC es Indice de Masa Corporal, IMC_clas: clasificación de acuerdo al IMC.
> IAS significa Indice de Alimentación Saludable; IAS_clas: clasificación de acuerdo al IAS.
> CCintura significa Circunferencia de cintura.
* Inspecciona el dataset, haz un resumen de la media (mean) de las variables (Peso, Altura,IMC, IAS, CCintura). Agrupando por sexo.
* Haz una tabla sólo con los pacientes femeninos ¿Cuántos registros cumplen las condiciones? ¿De estos cuantos tienen Sobrepeso (Overweight)? :sleuth_or_spy: Usa select y filter.
* Haz un gráfico usando ggplot relacionando el IMC (Indice de masa corporal) con el peso (Weight_Kg) de **todos los pacientes.**
* Repítelo filtrando sólo los pacientes categorizados como "Overweight" y "Obesity".