Slide 1

Slide 1 text

@avallecam Tiempos • Introducción: 25min • R vs Rstudio • conceptos clave • paquetes • Variables: 30 min • concepto y clasificación • Tipos de datos en R • explorar distribuciones • Recapitulación: 5min

Slide 2

Slide 2 text

@avallecam R

Slide 3

Slide 3 text

MÉTODO CIENTÍFICO:

Slide 4

Slide 4 text

EN LA REALIDAD:

Slide 5

Slide 5 text

EN LA REALIDAD: 1.Limpieza

Slide 6

Slide 6 text

EN LA REALIDAD: 1.Limpieza 2.Análisis

Slide 7

Slide 7 text

EN LA REALIDAD: 1.Limpieza 2.Análisis 3.Comunicación

Slide 8

Slide 8 text

EN LA REALIDAD: 1.Limpieza 2.Análisis 3.Comunicación

Slide 9

Slide 9 text

@avallecam

Slide 10

Slide 10 text

@avallecam

Slide 11

Slide 11 text

@avallecam

Slide 12

Slide 12 text

@avallecam ¿Todos tienen el proyecto? Organización corriente abajo

Slide 13

Slide 13 text

@avallecam

Slide 14

Slide 14 text

@avallecam Ruta al proyecto es única por computador No afecta reproducibilidad

Slide 15

Slide 15 text

@avallecam Conceptos clave Bases para interacción con R

Slide 16

Slide 16 text

@avallecam 1. Editor y consola ---EDITOR---- a <- 5 2+a ---CONSOLA--- > a <- 5 > 2+a [1] 7

Slide 17

Slide 17 text

@avallecam 1. Editor y consola ---EDITOR---- a <- 5 2+a ---CONSOLA--- > a <- 5 > 2+a [1] 7 Comparar: lo escrito en editor vs lo impreso en consola ¿Cuál es la diferencia entre las dos líneas?

Slide 18

Slide 18 text

@avallecam 2. Crear y ejecutar ---EDITOR---- a <- 5 2+a ---CONSOLA--- > a <- 5 > 2+a [1] 7 ---COMENTARIOS--- Con <- asignas el número 5 al objeto a Con + ejecutas la función suma con 2 y a ---COMENTARIOS--- Esta acción no imprime resultado Esta acción sí imprime resultado Indica orden del 1er objeto en dicha línea

Slide 19

Slide 19 text

@avallecam 2. Crear y ejecutar ---EDITOR---- a <- 5 2+a ---CONSOLA--- > a <- 5 > 2+a [1] 7 ---COMENTARIOS--- Con <- asignas el número 5 en el objeto a Con + ejecutas la función suma con 2 y a ---COMENTARIOS--- Esta acción no imprime resultado Esta acción sí imprime resultado Indica orden del 1er objeto en dicha línea ¡Hora de tomar nota! ¿Cómo escribir notas en el editor sin que R los lea en la consola?

Slide 20

Slide 20 text

@avallecam 3. Comentarios y funciones #comentario función(objeto) #todo contenido a la derecha de # no será ... #ejecutado como función o “comando” en la consola de R #p.e.: ¿cuál de las siguientes líneas será leída por R? hist(mpg) #línea 1 #hist(mpg) #línea 2

Slide 21

Slide 21 text

@avallecam 3. Comentarios y funciones ---EDITOR---- a <- 5 2+a

Slide 22

Slide 22 text

@avallecam 3. Comentarios y funciones ---EDITOR---- #---COMENTARIOS--- (Ctrl + Shift + R) (Alt + -) a <- 5 #Con <- asignas el número 5 en el objeto a #Esta acción no imprime resultado 2+a #Con + ejecutas la función suma con 2 y a #Esta acción sí imprime resultado #El [1] indica orden del 1er objeto en dicha línea

Slide 23

Slide 23 text

@avallecam 4. Funciones y argumentos función(argumento = “opción”) función(argumento1 = “opción1”, argumento2 = “opción2”)

Slide 24

Slide 24 text

@avallecam 4. Funciones y argumentos función(argumento = “opción”) función(argumento1 = “opción1”, argumento2 = “opción2”) #equivalente: si opción conserva orden de argumentos función(“opción1”,“opción2”)

Slide 25

Slide 25 text

@avallecam 4. Funciones y argumentos función(argumento = “opción”) función(argumento1 = “opción1”, argumento2 = “opción2”) #equivalente: si opción conserva orden de argumentos función(“opción1”,“opción2”) #caso contrario: debes especificar el argumento función(argumento2 = “opción2”)

Slide 26

Slide 26 text

@avallecam 4. Funciones y argumentos función(argumento = “opción”) función(argumento1 = “opción1”, argumento2 = “opción2”) #equivalente: si opción conserva orden de argumentos función(“opción1”,“opción2”) #caso contrario: debes especificar el argumento función(argumento2 = “opción2”) #puedes tener una función como opción de un argumento función1(argumento1 = función2(argumento2 = “opción2”))

Slide 27

Slide 27 text

@avallecam Práctica 1

Slide 28

Slide 28 text

@avallecam Pipe %>% (Ctrl + Shit + M)

Slide 29

Slide 29 text

EN LA REALIDAD: 1.Limpieza 2.Análisis 3.Comunicación

Slide 30

Slide 30 text

@avallecam

Slide 31

Slide 31 text

@avallecam Distribución libre de paquetes

Slide 32

Slide 32 text

@avallecam 5. Paquetes: instalar e invocar #instalar paquete (comillas obligatorias) install.package(“paquete”) #una vez por computador

Slide 33

Slide 33 text

@avallecam 5. Paquetes: instalar e invocar #instalar paquete (comillas obligatorias) install.package(“paquete”) #una vez por computador #invocar paquete library(paquete) #una vez por sesión

Slide 34

Slide 34 text

@avallecam 5. Paquetes: instalar e invocar #instalar paquete (comillas obligatorias) install.package(“paquete”) #una vez por computador #invocar paquete library(paquete) #una vez por sesión #luego, estarás habilitado para usar/ejecutar función función(argumento = “opción”)

Slide 35

Slide 35 text

@avallecam 5. Paquetes: instalar e invocar #instalar paquete (comillas obligatorias) install.package(“paquete”) #una vez por computador #invocar paquete library(paquete) #una vez por sesión #luego, estarás habilitado para usar/ejecutar función función(argumento = “opción”) #si no invocaste el paquete con anticipación usar paquete::función(argumento = “opción”)

Slide 36

Slide 36 text

@avallecam RECUERDA

Slide 37

Slide 37 text

@avallecam 6. Nombre de función repetido en ≠ paquetes

Slide 38

Slide 38 text

@avallecam 6. Nombre de función repetido en ≠ paquetes > library("tidyverse") -- Attaching packages --------------- tidyverse 1.2.1 -- v ggplot2 3.1.1 v purrr 0.3.0 v tibble 2.0.1 v dplyr 0.8.0.1 v tidyr 0.8.2 v stringr 1.4.0 v readr 1.3.1 v forcats 0.4.0 -- Conflicts ------------------ tidyverse_conflicts() -- x dplyr::filter() masks stats::filter() x dplyr::lag() masks stats::lag()

Slide 39

Slide 39 text

@avallecam 6. Nombre de función repetido en ≠ paquetes > library("tidyverse") -- Attaching packages --------------- tidyverse 1.2.1 -- v ggplot2 3.1.1 v purrr 0.3.0 v tibble 2.0.1 v dplyr 0.8.0.1 v tidyr 0.8.2 v stringr 1.4.0 v readr 1.3.1 v forcats 0.4.0 -- Conflicts ------------------ tidyverse_conflicts() -- x dplyr::filter() masks stats::filter() x dplyr::lag() masks stats::lag()

Slide 40

Slide 40 text

@avallecam 6. Nombre de función repetido en ≠ paquetes > library("tidyverse") -- Attaching packages --------------- tidyverse 1.2.1 -- v ggplot2 3.1.1 v purrr 0.3.0 v tibble 2.0.1 v dplyr 0.8.0.1 v tidyr 0.8.2 v stringr 1.4.0 v readr 1.3.1 v forcats 0.4.0 -- Conflicts ------------------ tidyverse_conflicts() -- x dplyr::filter() masks stats::filter() x dplyr::lag() masks stats::lag() #ejemplo: filter(argumento1 = “opción1”) #¿qué paquete usará?

Slide 41

Slide 41 text

@avallecam 6. Nombre de función repetido en ≠ paquetes > library("tidyverse") -- Attaching packages --------------- tidyverse 1.2.1 -- v ggplot2 3.1.1 v purrr 0.3.0 v tibble 2.0.1 v dplyr 0.8.0.1 v tidyr 0.8.2 v stringr 1.4.0 v readr 1.3.1 v forcats 0.4.0 -- Conflicts ------------------ tidyverse_conflicts() -- x dplyr::filter() masks stats::filter() x dplyr::lag() masks stats::lag() #ejemplo: filter(argumento1 = “opción1”) #usará paquete dplyr

Slide 42

Slide 42 text

@avallecam 6. Nombre de función repetido en ≠ paquetes > library("tidyverse") -- Attaching packages --------------- tidyverse 1.2.1 -- v ggplot2 3.1.1 v purrr 0.3.0 v tibble 2.0.1 v dplyr 0.8.0.1 v tidyr 0.8.2 v stringr 1.4.0 v readr 1.3.1 v forcats 0.4.0 -- Conflicts ------------------ tidyverse_conflicts() -- x dplyr::filter() masks stats::filter() x dplyr::lag() masks stats::lag() #ejemplo: filter(argumento1 = “opción1”) #usará paquete dplyr stat::filter(argumento2 = “opción2”) #usará paquete stat

Slide 43

Slide 43 text

@avallecam Variables Concepto y clasificación

Slide 44

Slide 44 text

@avallecam

Slide 45

Slide 45 text

@avallecam 1. Variables: según dependencia 1. Dependientes (desenlace) - Variables a explicar (p.e. cáncer al pulmón) respecto a los cuales hay que buscar un motivo. 2. Independientes (exposición) - Variable que podría explicar un cambio (p.e. fumar) en los valores de la variable dependiente. 3. Intervinientes - Afectan la relación: var.dependiente - independiente - Confusor (edad) o Modificador de efecto (ejercicio)

Slide 46

Slide 46 text

@avallecam 2. Variables: según naturaleza 1. Numérica (cuantitativa) - Continua: p.e. altura (m) 1.35 ; 1.46 ; 2.05 ; ... - Discreta: p.e. número de RNA-seq reads → 0 ; 448 ; 633; ... 2. Categórica (cualitativa) - Dicotómica: p.e. paciente sintomático o asintomático - Politómica: p.e. grupo sanguíneo A, B, AB, O

Slide 47

Slide 47 text

@avallecam R data types De vectores a bases de datos

Slide 48

Slide 48 text

@avallecam 6. Tipos de datos en R a.k.a data base (DB) base de datos (BD) 

Slide 49

Slide 49 text

@avallecam 7. Tipos de vectores en un Data Frame o DB

Slide 50

Slide 50 text

@avallecam 7. Tipos de vectores en un Data Frame o DB Dimensiones: N°filas x N°columnas

Slide 51

Slide 51 text

@avallecam 7. Tipos de vectores en un Data Frame o DB - Una DB contiene múltiples vectores - Cada columna es un vector - Cada vector es una variable - Cada tipo de vector corresponde a un tipo de variable Dimensiones: N°filas x N°columnas

Slide 52

Slide 52 text

@avallecam 7. Tipos de vectores en un Data Frame o DB - Una DB contiene múltiples vectores - Cada columna es un vector - Cada vector es una variable - Cada tipo de vector corresponde a un tipo de variable Dimensiones: N°filas x N°columnas factor integer double (categórica) (numérica discreta) (numérica continua)

Slide 53

Slide 53 text

@avallecam Explorar distribuciones retornar a parte 01

Slide 54

Slide 54 text

@avallecam

Slide 55

Slide 55 text

@avallecam Visualización de datos ejemplo

Slide 56

Slide 56 text

@avallecam ggplot(mpg, aes(class, hwy)) + geom_boxplot(alpha=0.2) + geom_point(aes(color=class), position = "jitter")