class: center, middle, inverse, title-slide # Ciencia de Datos ## R ### Edinson Tolentino ### RStudio ### 2021/02/20 --- layout:true background-image: url(sussex.jpg) background-position: 95% 0% background-size: 15% --- # Ciencia de Datos Trabajo con datos de SINADEF: .pull-left[ 1. Diferencias con datos de fallecidos entre MINSA y SINADEF; 1. Trabajo de datos diferentes; 1. Procesamiento de datos en R; 1. Previa instalacion de R y Rstudio; 1. Descarga de datos `*`; 1. Practicar dia a dia hace la diferencia; ] .pull-right[  ] .footnote[[*] Dato abiertos de MINSA --- # Instalar R 1. La instalacion de R software se requiere dos instalaciones previas: 1. R consola: [R](https://cran.r-project.org/bin/windows/base/) 1. RStudio: [Rstudio](https://rstudio.com/products/rstudio/download/) 1. Para el presente programa se utilziara el editor **RStudio** sobre el cual se llevara a cabo las aplicaciones 1. Se puede trabajar a traves de la nube de R, opciOn de personas que no poseen el software R, previa inscripcion y link, inscribirse libremente a traves de [Rcloud](https://rstudio.cloud/). --- # Instalacion de Librerias 1. Se intalara los siguientes librerias para el procesamieto de informacion 1. Las librerias como tidyverse y gganimate son las mas importantes para el caso de estudio. ```r #library(readr) # Paquete para importar csv #library(haven) #library(foreign) #library(tidyverse) #library(dplyr) #library(gganimate) #library(ggplot2) #library(lubridate) #library(magick) #library(animation) #library(vroom) ``` --- # Importando datos ```r col_spec <- cols( .default = col_character(), EDAD = col_double(), MES = col_number() ) sinadef_1 <- vroom("fallecidos_sinadef_2.csv", delim = ";", trim_ws = TRUE, skip = 2, na = c("", "SIN REGISTRO", "NA"), col_types = col_spec, col_select = 1:31) %>% janitor::clean_names() sinadef_1 %>% head(n=5) ``` ``` ## # A tibble: 5 x 31 ## n tipo_seguro sexo edad tiempo_edad estado_civil nivel_de_instru~ ## <chr> <chr> <chr> <dbl> <chr> <chr> <chr> ## 1 1 SIS MASC~ 4 "A\xd1OS" SOLTERO IGNORADO ## 2 2 SIS FEME~ 86 "A\xd1OS" SOLTERO PRIMARIA INCOMP~ ## 3 3 IGNORADO MASC~ 38 "A\xd1OS" IGNORADO IGNORADO ## 4 4 USUARIO FEME~ 64 "A\xd1OS" SOLTERO PRIMARIA COMPLE~ ## 5 5 IGNORADO MASC~ 20 "A\xd1OS" SOLTERO IGNORADO ## # ... with 24 more variables: cod_number_ubigeo_domicilio <chr>, ## # pais_domicilio <chr>, departamento_domicilio <chr>, ## # provincia_domicilio <chr>, distrito_domicilio <chr>, fecha <chr>, ## # a_o <chr>, mes <dbl>, tipo_lugar <chr>, institucion <chr>, ## # muerte_violenta <chr>, necropsia <chr>, debido_a_causa_a <chr>, ## # causa_a_cie_x <chr>, debido_a_causa_b <chr>, causa_b_cie_x <chr>, ## # debido_a_causa_c <chr>, causa_c_cie_x <chr>, debido_a_causa_d <chr>, ## # causa_d_cie_x <chr>, debido_a_causa_e <chr>, causa_e_cie_x <chr>, ## # debido_a_causa_f <chr>, causa_f_cie_x <chr> ``` --- ## Procesamiento de datos .pull-left[ 1. Proceso de datos de fecha, comando *lubridate* 2. Colapsar la informacion segun fecha y datos 3. Se filtra informacion segun años recientes ] .pull-rigth[ ```r # Variable de tiempo sinadef_1 <- sinadef_1 %>% mutate(time=lubridate::parse_date_time(fecha,c("ymd"))) tabla_sinadef_3 <- sinadef_1 %>% filter(time>"2019-12-31") %>% filter(time<"2021-02-05") %>% group_by(time) %>% summarise(casos=n()) tabla_sinadef_3 %>% head(n=4) ``` ``` ## # A tibble: 4 x 2 ## time casos ## <dttm> <int> ## 1 2020-01-01 00:00:00 378 ## 2 2020-01-02 00:00:00 331 ## 3 2020-01-03 00:00:00 324 ## 4 2020-01-04 00:00:00 333 ``` ] --- ## Comunicacion de datos .pull-left[ 1. Libreria *ggplot* para poder comunicar el grafico de la tabla generada 1. Titulo: *ggtitle()* 1. Eje vertial: *ylab()* 1. Eje horizontal: *xlab()* 1. Leyenda: *labs()* ] .pull-right[ ```r ggplot(data=tabla_sinadef_3,aes(x=time,y=casos))+ geom_line() + theme_classic()+ labs(caption ="SINADEF, reporte al 04-02-2021")+ ylab("Nº fallecidos") + xlab("") + ggtitle("Excess of Deceased") + theme(plot.title=element_text(size=20)) ``` <img src="Diapo_1_files/figure-html/unnamed-chunk-4-1.png" width="400px" height="250px" style="display: block; margin: auto;" /> ] --- ## Animacion de graficos .pull-left[ 1. Comando *gganimate* para poder dar vida a los graficos generados 1. Generar un objeto que almacena el grafico generado 1. Comando *transition* para poder dar iteraccion de time (variable de tiempo) ] .pull-right[ ```r Z1 <- ggplot(data=tabla_sinadef_3,aes(x=time,y=casos))+ geom_line() + theme_classic()+ labs(caption ="SINADEF, reporte al 04-02-2021")+ ylab("N fallecidos") + xlab("") + ggtitle("Excess of Deceased") + theme(plot.title=element_text(size=20)) Z2 <- Z1 + transition_reveal(time) ``` ] --- ## Animacion de graficos 1. En el objeto *Z2* se almacena la animacion del grafico 2. Guardar informacion con el comando *aim_save* ```r Z2 ``` <img src="Diapo_1_files/figure-html/unnamed-chunk-6-1.gif" width="400px" height="350px" style="display: block; margin: auto;" /> ```r anim_save("SINADEF_Animate.gif") ```