class: center, middle, inverse, title-slide # Introducción al análisis de datos biológicos con R ## Clase 4 ###
### Eliana F. Burgos --- # **Clase 4** ##**CONTENIDO** 1. [Estadística descriptiva: frecuencias](Estadística descriptiva: frecuencias) 2. [Gráficos](graficos) ![rata](https://media0.giphy.com/media/60NrFxmeeSCoE/giphy.gif) --- ##**Frecuencias y distribución de frecuencias** <br> - es la base de la inferencia estadística - representa la cantidad de veces que un determinado valor se repite en nuestra muestra - organiza la información disponible para describir los datos <br> <center> **lista de valores + frecuencias => distribución de frecuencias** .right[<img src = 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSYW0dHicadjHrkJcGcAmqaf03Ptin3jNLNmQ&usqp=CAU' width = '20%'>] --- ## **RETOMAMOS EL EJERCICIO 3 DE LA CLASE ANTERIOR** > En el marco de la evaluaciónn del estado de conservaciónn de mamíferos de la provincia, nos designaron la especie *Chironectes minimus* mejor conocida como **cuica de agua**, propia de la Selva Paranaense y que, hasta el momento, en nuestro país solo se encuentra en Misiones. Sabemos que en otras regiones su peso es menor en áreas degradadas respecto de las áreas conservadas. Realizamos la captura de esta especie (con ayuda de un veterinario, las medidas de bioseguridad adecuadas y los permisos correspondientes), donde registramos el peso y el sexo de los individuos en dos sitios completamente distintos: un área natural protegida y un cultivo de yerba con arroyos y tajamares. ![](https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSmH9HoKBC3XuICk-OohsmJbVD9wLN0b1AZ8g&usqp=CAU) --- ##**FRECUENCIAS ABSOLUTAS Y RELATIVAS** **Frecuencia absoluta** -> es el número de veces que se repite un valor **Frecuencia relativa** -> la proporción que representa esa frecuencia absoluta en relación con el total. **Frecuencias acumuladas** -> suma sucesiva de las frecuencias de los datos ordenados de menor a mayor, ***Ejemplo***: ¿Cuántos individuos tengo relevados en cada uso del suelo? ```r f.abs <- table(datos$uso_suelo) f.abs ``` ``` ## ## cultivo reserva ## 19 20 ``` ```r prop.table(f.abs) ``` ``` ## ## cultivo reserva ## 0.4871795 0.5128205 ``` --- <br> si quiero expresarla en porcentaje uso **prop.table()*100** ```r prop.table(f.abs) ``` ``` ## ## cultivo reserva ## 0.4871795 0.5128205 ``` ```r prop.table(f.abs)*100 ``` ``` ## ## cultivo reserva ## 48.71795 51.28205 ``` .right[<img src = 'https://i.pinimg.com/236x/2f/bf/80/2fbf806d96ad84d634ac877e5dcdafce.jpg' width = '25%'>] --- ***Ejemplo*** ¿Cuántos individuos capturé por año? (cada fila de mi planilla corresponde a una captura) ``` ## ## 2014 2015 ## 30 9 ``` ``` ## ## 2014 2015 ## 0.7692308 0.2307692 ``` ¿Cuántos individuos tengo de cada sexo? ``` ## ## h m ## 18 21 ``` ``` ## ## h m ## 0.4615385 0.5384615 ``` --- ##**Distribuciónn de frecuencias** <img src = 'https://thumbs.dreamstime.com/b/cartoon-opossum-vector-illustration-flat-style-front-side-144797105.jpg' width = '7%'> - es la especificaciónn de las frecuencias correspondientes a cada uno de sus valores Variable | Frec. absoluta |Rec. relativa ------------| ---------------|------------ USO DEL SUELO| | reserva | 20 | 0.5128205 cultivo | 19 | 0.4871795 AÑO | | 2014 | 30 | 0.7692308 2015 | 9 | 0.2307692 SEXO | | m | 21 | 0.5384615 h | 18 | 0.4615385 --- **Variables cuantitativas** <img src = 'https://thumbs.dreamstime.com/b/cartoon-opossum-vector-illustration-flat-style-front-side-144797105.jpg' width = '7%'> - **podemos calcular las frecuencias para cada valor** ``` ## ## 467 497 525 545 556 573 586 598 603 617 625 634 642 653 661 681 693 714 ## 1 1 3 3 3 1 6 1 1 2 2 2 1 3 1 3 3 2 ``` ``` ## ## 467 497 525 545 556 573 586 598 ## 0.02564103 0.02564103 0.07692308 0.07692308 0.07692308 0.02564103 0.15384615 0.02564103 ## 603 617 625 634 642 653 661 681 ## 0.02564103 0.05128205 0.05128205 0.05128205 0.02564103 0.07692308 0.02564103 0.07692308 ## 693 714 ## 0.07692308 0.05128205 ``` --- - **Tabla de distribución de frecuencias** <img src = 'https://thumbs.dreamstime.com/b/cartoon-opossum-vector-illustration-flat-style-front-side-144797105.jpg' width = '7%'> ```r library(fdth) tabla <- fdt(datos$peso, start=460, end=715, h=15) tabla ``` ``` ## Class limits f rf rf(%) cf cf(%) ## [460,475) 1 0.03 2.56 1 2.56 ## [475,490) 0 0.00 0.00 1 2.56 ## [490,505) 1 0.03 2.56 2 5.13 ## [505,520) 0 0.00 0.00 2 5.13 ## [520,535) 3 0.08 7.69 5 12.82 ## [535,550) 3 0.08 7.69 8 20.51 ## [550,565) 3 0.08 7.69 11 28.21 ## [565,580) 1 0.03 2.56 12 30.77 ## [580,595) 6 0.15 15.38 18 46.15 ## [595,610) 2 0.05 5.13 20 51.28 ## [610,625) 2 0.05 5.13 22 56.41 ## [625,640) 4 0.10 10.26 26 66.67 ## [640,655) 4 0.10 10.26 30 76.92 ## [655,670) 1 0.03 2.56 31 79.49 ## [670,685) 3 0.08 7.69 34 87.18 ## [685,700) 3 0.08 7.69 37 94.87 ## [700,715) 2 0.05 5.13 39 100.00 ``` --- ###**Frecuencias relativas** - **Graficar**: Histograma ```r plot(tabla, type="fh") ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-8-1.png)<!-- --> ![zarigueyas](https://media2.giphy.com/media/fXJsGMCnBtBO9URXWe/giphy.gif) --- - **Graficar**: Polígono de frecuencias <br> ```r plot(tabla, type="fp", col="red") ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-9-1.png)<!-- --> ![zarigueyas](https://media2.giphy.com/media/fXJsGMCnBtBO9URXWe/giphy.gif) --- ###**Frecuencias acumuladas** **Graficar**: Histograma <br> ```r plot(tabla, type="cfh") ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-10-1.png)<!-- --> ![zarigueyas](https://media2.giphy.com/media/fXJsGMCnBtBO9URXWe/giphy.gif) --- **Graficar**: Polígono de frecuencias <br> <br> ```r plot(tabla, type="cfp",col="red") ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-11-1.png)<!-- --> ![zarigueyas](https://media2.giphy.com/media/fXJsGMCnBtBO9URXWe/giphy.gif) --- <br> <br> <center> <br> #**GRÁFICOS** <br> ![raton](https://media3.giphy.com/media/EPwELUbhreEPC/giphy.gif) --- ##**GRAFICAR EN R** Paquete ***stats*** - histogramas - gráficos de densidad - gráficos de línea - gráficos de cajas - gráficos de barra - gráficos de torta <br> ![raton](https://media3.giphy.com/media/d1E2IByItLUuONMc/giphy.gif) --- **Histogramas básico para una variable continua** ```r hist(datos$peso) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-12-1.png)<!-- --> --- **Histogramas básico para una variable continua** ```r hist(datos$peso, main = "Histograma de peso", xlab = "Peso (gr)", ylab = "Frecuencia", col = "red", border = "black", ) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-13-1.png)<!-- --> --- **Gráficos de densidad** <br> ```r densidad <- density(datos$peso) plot(densidad, main = "Histograma de densidad 1", xlab = "Peso (gr)", ylab = "Densidad") ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-14-1.png)<!-- --> --- **Gráficos de línea** <br> ```r plot(datos$peso, type="l", col="blue") ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-15-1.png)<!-- --> --- **Gráficos de caja** <br> <br> ```r boxplot(datos$peso, main = "Gráfico de cajas 1", outline = TRUE) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-16-1.png)<!-- --> --- **Gráficos de barra** <br> <br> ```r plot(datos$sexo, main = "Gráfico de barras 1", xlab = "Sexo", ylab = "Frecuencia") ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-17-1.png)<!-- --> --- **Gráficos de barra** <br> <br> ```r barplot(height=datos$peso, names=datos$uso_suelo) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-18-1.png)<!-- --> --- **Gráficos de torta** <br> <br> ```r porcentajes <- as.numeric(round(((prop.table(table(datos$sexo)))*100),2)) porcentajes ``` ``` ## [1] 46.15 53.85 ``` ```r etiquetas <- c("Hembra", "Macho") etiquetas ``` ``` ## [1] "Hembra" "Macho" ``` ```r pie(porcentajes, etiquetas, main = "Gráfico de torta 1", sub = "") ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-20-1.png)<!-- --> --- <br> <br> ```r etiquetas <- paste(etiquetas, porcentajes) etiquetas <- paste(etiquetas, "%", sep = "") pie(porcentajes, etiquetas, main = "Gráfico de torta 1", sub = "") ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-21-1.png)<!-- --> --- <br> <center> <br> <br> <br> <br> ![raton](https://media1.giphy.com/media/JfnrkEiBDsghO/giphy.gif) --- ##**Paquete *"tidyverse"*** <br> Es un conjunto de paquetes que comparten algunas estructuras y funciones para importar, manipular, modelar y graficar datos .center[<img src = 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSWyI45Rr2T-v9J78CXjtyFD7e0fOpjQduqKA&usqp=CAU.jpg' width = '75%'>] --- ##**ggplot2** <br> ```r library(ggplot2) ``` **Estructura** - datos -> base de datos, tabla - aes -> asocia los elementos a graficar - geometrías -> capas, define el tipo de gráfico (histograma, barras, etc) - facetas -> permite dividir un gráico en dos o mas partes siguiendo las mismas escalas ![raton](https://media2.giphy.com/media/Ymayf1Iw1VNHr6bZKF/giphy-downsized.gif) --- ##**ggplot2** <br> <center> <img src = 'ggplot2_cheatsheet.jpg' width = '80%'> <br> [https://www.rstudio.com/wp-content/uploads/2015/04/ggplot2-spanish.pdf]() --- ##**ggplot2** <br> - histogramas - gráficos de densidad - gráficos de puntos - gráficos de línea - gráficos de cajas - gráficos de barra - gráficos de torta .right[<img src = 'rata.jpg' width = '30%'>] --- ##**Histogramas** <br> ```r ggplot(datos, aes(x = peso) )+ geom_histogram(binwidth = 15) + scale_x_continuous("Peso (gr)") + scale_y_continuous("Frecuencia") + labs(title = "", subtitle = "") ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-23-1.png)<!-- --> <img src = 'https://m.media-amazon.com/images/I/31QvaqPJjlL._AC_SY450_.jpg' width = '20%'> --- ##**Gráficos de densidad** <br> ```r ggplot(datos, aes(x = peso) )+ geom_density() + scale_x_continuous("Peso (gr)") + scale_y_continuous("Frecuencia") + labs(title = "", subtitle = "") ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-24-1.png)<!-- --> <img src = 'https://m.media-amazon.com/images/I/31QvaqPJjlL._AC_SY450_.jpg' width = '20%'> --- ##**Gráficos de puntos** <br> ```r ggplot(data = datos) + geom_point(aes(x = peso, y = lcorporal, col = sexo)) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-25-1.png)<!-- --> <img src = 'ratonleyendo.jpg' width = '20%'> --- ##**Gráficos de puntos** <br> ```r ggplot(data = datos) + geom_point(aes(x = peso, y = lcorporal, col = sexo) , size=6) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-26-1.png)<!-- --> <img src = 'ratonleyendo.jpg' width = '20%'> --- ##**Gráficos de puntos** <br> ```r ggplot(data = datos) + geom_point(aes(x = peso, y = lcorporal, col = sexo),size=6, alpha = 1/5) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-27-1.png)<!-- --> <img src = 'ratonleyendo.jpg' width = '20%'> --- ##**Gráficos de puntos** <br> ```r ggplot(data = datos) + geom_point(aes(x = peso, y = lcorporal, shape= sexo), size=3) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-28-1.png)<!-- --> <img src = 'ratonleyendo.jpg' width = '20%'> --- ##**Gráficos de puntos** <br> ```r ggplot(data = datos) + geom_point(aes(x = peso, y = lcorporal, col=sexo), size=6)+ facet_grid(.~uso_suelo) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-29-1.png)<!-- --> <img src = 'ratonleyendo.jpg' width = '20%'> --- ##**Transformación estadística** <br> ```r ggplot(data = datos) + geom_point(aes(x = peso, y = lcorporal, col=sexo), size=4)+ geom_smooth(aes(x = peso, y = lcorporal), method = 'lm') ``` ``` ## `geom_smooth()` using formula 'y ~ x' ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-30-1.png)<!-- --> <img src = 'ratonleyendo.jpg' width = '20%'> --- ##**Transformación estadística** <br> ```r ggplot(data = datos) + geom_point(aes(x = peso, y = lcorporal, col=sexo), size=4)+ geom_smooth(aes(x = peso, y = lcorporal, linetype=uso_suelo), method = 'lm') ``` ``` ## `geom_smooth()` using formula 'y ~ x' ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-31-1.png)<!-- --> <img src = 'ratonleyendo.jpg' width = '20%'> --- ##**Transformación estadística** <br> ```r ggplot(data = datos) + geom_point(aes(x = peso, y = lcorporal, col=sexo), size=4)+ geom_smooth(aes(x = peso, y = lcorporal), method = 'lm') + facet_grid(rows = vars(uso_suelo)) ``` ``` ## `geom_smooth()` using formula 'y ~ x' ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-32-1.png)<!-- --> <img src = 'ratonleyendo.jpg' width = '20%'> --- ##**Gráficos de línea** <br> ```r ggplot(datos) + geom_line(aes(x=peso, y=lcorporal)) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-33-1.png)<!-- --> <img src = 'https://pbs.twimg.com/media/EkRHZQ7WsAAPoiW.jpg' width = '20%'> --- ##**Gráficos de línea** <br> ```r ggplot(datos) + geom_line(aes(x=peso, y=lcorporal, colour=uso_suelo), linetype=1, size=1) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-34-1.png)<!-- --> <img src = 'https://pbs.twimg.com/media/EkRHZQ7WsAAPoiW.jpg' width = '20%'> --- ##**Gráficos de línea** <br> ```r ggplot(datos) + geom_line(aes(x=peso, y=lcorporal, colour=sexo), linetype=1, size=1) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-35-1.png)<!-- --> <img src = 'https://pbs.twimg.com/media/EkRHZQ7WsAAPoiW.jpg' width = '20%'> --- ##**Gráficos de barra** <br> ```r ggplot(data = datos) + geom_bar(aes(x = uso_suelo)) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-36-1.png)<!-- --> <img src = 'shoro.jpg' width = '20%'> --- ##**Gráficos de barra** <br> ```r ggplot(datos, aes(fill=sexo,x=uso_suelo)) + geom_bar(position="dodge") ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-37-1.png)<!-- --> <img src = 'shoro.jpg' width = '20%'> --- ##**Gráficos de barra** <br> **geom_bar()** y **geom_col()** grafican conteos, proporciones o frecuencias de los datos <br> si queremos graficar los valores crudos de una variable cuantitativa, es mejor usar un gráfico de lineas o de puntos <br> para estas variables también podemos usar boxplot que ademas nos da una idea de las medidas de posicion y dispersion de nuestra variable <br> .right[<img src = 'https://cdn160.picsart.com/upscale-241865244038212.png?type=webp&to=min&r=640' width = '20%'> ] --- ##**Gráficos de caja** <br> ```r ggplot(datos) + geom_boxplot(aes(x = uso_suelo, y = peso))+ geom_jitter(aes(x = uso_suelo, y = peso), size = 2, alpha = 0.5, width = 0.1) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-38-1.png)<!-- --> <img src = 'https://m.media-amazon.com/images/I/31QvaqPJjlL._AC_SY450_.jpg' width = '20%'> --- ##**Gráficos de caja** <br> ```r ggplot(datos) + geom_boxplot(aes(x = uso_suelo, y = peso, fill=sexo)) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-39-1.png)<!-- --> <img src = 'https://m.media-amazon.com/images/I/31QvaqPJjlL._AC_SY450_.jpg' width = '20%'> --- ##**Gráficos de caja** <br> ```r ggplot(datos) + geom_boxplot(aes(x = uso_suelo, y = peso, fill=sexo))+ scale_y_continuous(limits=c(400,800)) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-40-1.png)<!-- --> <img src = 'https://m.media-amazon.com/images/I/31QvaqPJjlL._AC_SY450_.jpg' width = '20%'> --- ##**Gráficos de violin** <br> ```r ggplot(datos, aes(x=uso_suelo, y=peso, fill=uso_suelo)) + geom_violin() ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-41-1.png)<!-- --> <img src = 'hams.jpg' width = '20%'> --- ##**Gráficos de violin** <br> ```r ggplot(datos, aes(x=uso_suelo, y=peso, fill=sexo)) + geom_violin() ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-42-1.png)<!-- --> <img src = 'hams.jpg' width = '20%'> --- ##**Gráficos** <br> Para ver mas estilos de gráficos y cómo programarlos **->** [https://www.r-graph-gallery.com/index.html]() <br> .center[<img src = 'ggplot.jpg' width = '40%'>] --- ##**Gráficos temporales** <br> ```r library(tidyverse) library(lubridate) set.seed(1984) f <- sample(seq(as.Date('2015-01-01'), as.Date('2021-01-01'), by = "month"), 12) # Dato de tipo 'date' (tiempo) fecha <- c(f) %>% as.Date() fecha ``` ``` ## [1] "2018-04-01" "2016-08-01" "2019-10-01" "2017-08-01" "2016-05-01" "2020-08-01" "2017-12-01" ## [8] "2018-02-01" "2018-09-01" "2020-05-01" "2015-10-01" "2015-02-01" ``` --- <br> <br> ```r rural <- sample(15:30, 12) urbano <- sample(30:100, 12) periurbano <- sample(15:70, 12) data <- data.frame(rural, urbano, periurbano, fecha) %>% pivot_longer(-fecha, names_to = "uso_tierra", values_to = "casos") data ``` ``` ## # A tibble: 36 x 3 ## fecha uso_tierra casos ## <date> <chr> <int> ## 1 2018-04-01 rural 16 ## 2 2018-04-01 urbano 78 ## 3 2018-04-01 periurbano 20 ## 4 2016-08-01 rural 23 ## 5 2016-08-01 urbano 50 ## 6 2016-08-01 periurbano 22 ## 7 2019-10-01 rural 20 ## 8 2019-10-01 urbano 83 ## 9 2019-10-01 periurbano 41 ## 10 2017-08-01 rural 24 ## # ... with 26 more rows ``` --- **Gráfico de línea** <br> ```r ggplot(data, aes(x=fecha, y=casos)) + geom_line() ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-45-1.png)<!-- --> --- **Gráfico de línea** <br> ```r data %>% ggplot(aes(x = fecha, y = casos, color = uso_tierra)) + geom_line() + geom_point() ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-46-1.png)<!-- --> --- **Gráfico de barras** <br> <br> ```r data %>% ggplot(aes(x = fecha, y = casos, fill = uso_tierra)) + geom_bar(position="dodge", stat="identity") ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-47-1.png)<!-- --> --- **Gráfico de área** <br> <br> ```r data %>% ggplot(aes(x = fecha, y = casos, fill = uso_tierra)) + geom_area(alpha=0.5) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-48-1.png)<!-- --> --- ##**Mapas interactivos** <br> ```r library(dygraphs) library(xts) ``` ```r data1 <- xts(x = data$casos, order.by = data$fecha) ``` --- ##**Mapas interactivos** <br> ```r p <- dygraph(data1) %>% dyOptions( fillGraph=TRUE ) p ```
--- ##**Gráfico de red** <br> También llamados "**Spider**", gráficos de "**Web**", "**Polar**" o "**Radarchart**" <br> Base de datos ** ->** *fila* ** ->** una entidad ** ->** *columna* ** ->** variable cuantitativa Las dos primeras filas proporcionan el mínimo y el máximo que se utilizará para cada variable Sirve para graficar **RELACIONES** entre los datos ```r library(fmsb) ``` .right[<img src = 'https://i.pinimg.com/originals/b8/4d/6f/b84d6f367d5ba5e7808da350e6a0f111.png' width = '25%'>] --- ##**Gráfico de red** <img src = 'spider.jpg' width = '10%'> **Teoria de grafos** <br> **Grafos** son un conjunto de **nodos** y **aristas** Permiten reprensentar relaciones **binarias** dentro de un conjunto Relaciones **dirigidas** o **no dirigidas** .center[<img src = 'https://upload.wikimedia.org/wikipedia/commons/thumb/6/65/Connexe_et_pas_connexe.svg/400px-Connexe_et_pas_connexe.svg.png' width = '45%'>] --- **Ejemplo** <br> ```r radarchart(data) ``` ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-54-1.png)<!-- --> --- <center> ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-55-1.png)<!-- --> --- **Ejemplo** <br> ![](Clase_4_Teoria_files/figure-html/unnamed-chunk-57-1.png)<!-- --> --- <br> **Dudas y/o consultas** <br> [efburgos@conicet.gov.ar]() ; [mariliabioufpr@gmail.com]() <CENTER> ![rata](https://media4.giphy.com/media/TEuDo5xqaxS5M8Sr9s/giphy.gif) <br> **Ejercicios ->** [Ejercicios_Clase4.pdf]() <br> **Formulario->** [https://forms.gle/HuheLtDKiHogNG287]() <br> *FIN*