class: title-slide background-image: url(figs/bannerAUFPAS2.png) background-position: 11% 10% background-size: 500px # <span style = 'font-size: 100%;'>¿Qué puedo hacer con R y RStudio?</span> ### <span style = 'color: #4a4a4a; font-size: 120%'>Ventajas de aprender a programar</span> <br> ### <span style = 'font-size: 90%;color:#4a4a4a'>Blgo. Irwing S. Saldaña</span> ### <span style = 'font-size: 70%;color:#15b2db'>Instituto de Ciencias Antonio Brack</span> ### <span style = 'font-size: 70%;color:#aaa59f'>Dpto. Ecoinformática y Biogeografía</span> --- class: inverse, middle, center background-image: url(https://source.unsplash.com/jqgsM3B9Fpo) background-size: cover background-position: top <img src="figs/aboutme.png" width="25%" style="display: block; margin: auto;" /> ### Blgo. Irwing S. Saldaña <br><span style= 'font-size:80%; font-weigth: light;'> Instructor</span> <span style= 'font-family: calibri; color: white'>Departamento de Ecoinformática y Biogeografía,<br> Instituto de Ciencias Antonio Brack, Perú</span> .white[[Website](https://www.brackinstitute.com/)|[ResearchGate](https://www.researchgate.net/profile/Irwing-Saldana)|[Linkedin](https://www.linkedin.com/in/irssald/)|[R Blog](https://www.brackinstitute.com/rlatinoamerica) ] --- class: inverse, middle, center , animated, slideInRight name: GLM # La camino de R<br> [ Por qué aprender un lenguaje de programación ] --- # RStudio -- - R: Lenguaje de programación para **análisis estadístico y graficación**. -- - Gran **comunidad** de desarrollo. -- ```r # Cargando la lista de paquetes de CRAN paquetes <- available.packages() |> as.data.frame() *length(paquetes$Package) ``` ``` ## [1] 17721 ``` -- - **RStudio es un intérprete de R** que permite tener una experiencia más sencilla al trabajar con código. --- class: inverse, middle, center , animated, slideInRight name: GLM # Flexibilidad de análisis <br> [ Gracias a una de las comunidades más grandes del mundo ] --- # Flexibilidad de análisis - Miles de funciones para realizar análisis diversos. - Librerías especializadas para especialidades específicas. - Capacidad de ajustar los parámetros a nivel avanzado. - Pasar de un análisis a otro es sencillo. - Flujo de trabajo ¡Eureka! fácil de seguir. ```r library(tidyverse) data("airquality") names(airquality) lm(Temp ~ Ozone, data=airquality) |> summary() plot(Temp ~ Ozone, data=airquality) ``` Veamos qué podemos hacer en RStudio. --- class: inverse, middle, center , animated, slideInRight name: GLM # Gramática de Gráficos con ggplot2 <br> [ La mejor herramienta de graficación estadística ] --- # Salve ggplot2 -- - **gg** proviene de Gramática de Gráficos -- - La mejor librería de graficación por su flexibilidad. -- - Decenas de librerías asociadas a ggplot2 que simplifican la graficación aún más. --- # GGally .panelset[ .panel[.panel-name[Gráfico] <img src="Webinar20211_files/figure-html/unnamed-chunk-4-1.png" width="65%" style="display: block; margin: auto;" /> ] .panel[.panel-name[Código] ```r # install.packages("GGally") library(GGally) p <- ggpairs(iris, aes(color = Species), upper = list(continuous = wrap("cor", size = 2)))+ theme_bw() for(i in 1:p$nrow) { for(j in 1:p$ncol){ p[i,j] <- p[i,j] + scale_fill_manual(values=c("#15b2db","#5f00db","#f72585")) + scale_color_manual(values=c("#15b2db","#5f00db","#f72585")) } } p ``` ] ] --- # ggpubr .panelset[ .panel[.panel-name[Gráfico] <img src="Webinar20211_files/figure-html/unnamed-chunk-6-1.png" width="65%" style="display: block; margin: auto;" /> ] .panel[.panel-name[Código] ```r #install.packages("ggpubr") library(ggpubr) data("ToothGrowth") df <- ToothGrowth p <- ggboxplot(df, x = "dose", y = "len", color = "dose", palette =c("#15b2db","#5f00db","#f72585"), add = "jitter", shape = "dose") my_comparisons <- list( c("0.5", "1"), c("1", "2"), c("0.5", "2") ) p + stat_compare_means(comparisons = my_comparisons)+ stat_compare_means(label.y = 50) ``` ] ] --- # ggridges .panelset[ .panel[.panel-name[Gráfico] <img src="Webinar20211_files/figure-html/unnamed-chunk-8-1.png" width="65%" style="display: block; margin: auto;" /> ] .panel[.panel-name[Código] ```r #install.packages("ggridges") library(ggridges) data("iris") ggplot(iris, aes(x = Petal.Length, y = Species, fill = 0.5 - abs(0.5 - stat(ecdf)))) + stat_density_ridges(geom = "density_ridges_gradient", calc_ecdf = TRUE) + scale_fill_gradient2(low="#f72585", mid="#15b2db", high = "#5f00db", guide = "colourbar", name = "ECDF - Probabilidad")+ theme_classic2() ``` ] ] --- # ggradar .panelset[ .panel[.panel-name[Gráfico] <img src="Webinar20211_files/figure-html/unnamed-chunk-10-1.png" width="65%" style="display: block; margin: auto;" /> ] .panel[.panel-name[Código] ```r #devtools::install_github("ricardo-bion/ggradar", dependencies = TRUE) library(ggradar) library(tidyverse) library(scales) mtcars_radar <- mtcars %>% as_tibble(rownames = "group") %>% mutate_at(vars(-group), rescale) %>% tail(4) %>% select(1:10) ggradar(mtcars_radar)+ theme(legend.position = "none")+ scale_color_manual(values = c("#15b2db","#17004a","#5f00db","#b5179e","#f72585")) ``` ] ] --- # Y la lista sigue y sigue... - ggcorrplot - ggstatsplot - Plotly - ggthemes - gganimate - patchwork - ggmap - ggrepel - ggdendro - sjPlot - ggvegan - ggforce - ggupset --- - Veamos la aplicación con el modelo creado hace un momento <img src="figs/quadratic.png" width="70%" style="display: block; margin: auto;" /> --- # Libro Visualización de Datos con R <iframe src="https://rkabacoff.github.io/datavis/Models.html" width="2175.6" height="400px"></iframe> --- class: inverse, middle, center , animated, slideInRight name: GLM # Proyectos en RStudio <br> [ Lo mejor para lidiar con varios proyectos a la vez ] --- # Proyectos en RStudio -- - Permiten tener todo organizado. -- - Facilita la carga de archivos a RStudio. -- - Facilita el trabajo con diferentes proyectos a la vez. --- background-image: url(figs/project.png) background-size: contain background-color: #ebebeb --- class: inverse, middle, center , animated, slideInRight name: GLM # Las mejoras de RStudio<br> [ Actualización version 1.4.1717 ] --- # RStudio cada vez mejor -- .pull-left[ - Última versión 1.4.1717. [Descargar](https://download1.rstudio.org/desktop/windows/RStudio-1.4.1717.exe) - **Mejoras:** Paréntesis de arcoíris (Rainbow Parenthesis) <img src="figs/rainbow2.png" width="100%" /> ] -- .pull-right[ <img src="figs/rainbow.png" width="80%" /> ] --- - **Mejoras:** Editor Visual de RMarkdown (Visual Editor) -- <img src="figs/rmarkdown.png" width="100%" style="display: block; margin: auto;" /> --- - **Mejoras de R implementada en el último RStudio:** Pipe nativo |> ```r data(airquality) # El nuevo Pipe Nativo #airquality |> mutate(tiempo = as.character(paste0(Month,"-",Day)) ggplot(aes(x=)) # El Pipe (original) de Tidyverse ``` --- class: inverse, middle, center , animated, slideInRight name: GLM # RMarkdown <br> [ Reportes, Papers y Páginas Web ] --- .pull-left[ <img src="figs/libro Rmarkdown.png" width="70%" /> ] .pull-right[ .pull-left[ <img src="figs/rmarkdown logo.png" width="60%" /> <img src="figs/knitr logo.png" width="55%" /> <br> <br> <br> - [Link lectura libro (o vean la siguiente diapositiva)](https://bookdown.org/yihui/rmarkdown-cookbook/) ] .pull-rigth[ <img src="figs/bookdown.png" width="30%" /> <br> <br> <br> ### rticle ] ] --- # Libro de Cocina de RMarkdown <iframe src="https://bookdown.org/yihui/rmarkdown-cookbook/" width="2175.6" height="400px"></iframe> --- # [rticle](https://github.com/rstudio/rticles#readme): la librería de las plantillas de Journals <img src="figs/rticle.png" width="90%" style="display: block; margin: auto;" /> --- class: inverse, middle, center , animated, slideInRight name: GLM # Github <br> [ Crear páginas web y repositorios ] --- # Páginas web gratuitas con GitHub .content-box-red[**Utilizando RMarkdown**], usando el lenguaje de R con un poco de conocimientos en estructura YAML, y, si uno desea, algo de HTML y CSS con [Remark JS](https://remarkjs.com/#1), y una pizca de LaTeX para las funciones matemáticas. [URL RLab](https://irwingss.github.io/IrwingRLab/PractCasa04-full.html) <img src="figs/website github.png" width="60%" style="display: block; margin: auto;" /> --- class: inverse, middle, center , animated, slideInRight name: GLM # Xaringan <br> [ Crea un Genjutsu con tus Diapositivas ] --- # Gráficos de alta calidad en tus diapositivas .panelset[ .panel[.panel-name[Código R] ```r library(tidyverse) data(iris) *iris %>% mutate(Species = factor(Species, * labels = c("setosa"="I. setosa", * "versicolor"="I. versicolor", * "virginica"="I. virginica"))) %>% ggplot(aes(x=Sepal.Length, y=Petal.Length, color= Species))+ geom_point(size=4, alpha=0.7)+ labs(x="Longitud de Sépalo (mm)", y="Longitud de Pétalo (mm)", color="Especies", title = "Gráfico Bivariado (Dispersión de Puntos)", subtitle="Para graficar la relación de dos variables")+ theme_minimal()+ scale_color_manual(values = c("#15b2db","#5f00db","#f72585"))+ theme(legend.position = "bottom", legend.text = element_text(face=3)) ``` ] .panel[.panel-name[Figura 1.1] <img src="Webinar20211_files/figure-html/unnamed-chunk-25-1.png" width="65%" style="display: block; margin: auto;" /> ] ] --- <img src="Webinar20211_files/figure-html/unnamed-chunk-26-1.png" width="100%" style="display: block; margin: auto;" /> --- # Resultados interactivos en tus [diapositivas](https://garthtarr.github.io/sydney_xaringan/#12) .scroll-box-18[ ```r data(iris) *lm(Petal.Length ~ Species, data = iris) |> summary() ``` ``` ## ## Call: ## lm(formula = Petal.Length ~ Species, data = iris) ## ## Residuals: ## Min 1Q Median 3Q Max ## -1.260 -0.258 0.038 0.240 1.348 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 1.46200 0.06086 24.02 <2e-16 *** ## Speciesversicolor 2.79800 0.08607 32.51 <2e-16 *** ## Speciesvirginica 4.09000 0.08607 47.52 <2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 0.4303 on 147 degrees of freedom ## Multiple R-squared: 0.9414, Adjusted R-squared: 0.9406 ## F-statistic: 1180 on 2 and 147 DF, p-value: < 2.2e-16 ``` ]