Grupo 03: Kervin Alfaro & Karol Esquivel

Ejercicio #1 & #2

Subir el data frame y modificarlo

library(dlookr)
library(dplyr)
library(lubridate)

claims <- read.csv("https://raw.githubusercontent.com/DFJL/Datasets/master/unemploymentClaims.csv",sep = ";")

claims$date <- as.Date(claims$Filed.week.ended, format = '%m/%d/%Y')

claims2 <- claims %>%
  filter(month(date)==4) %>%
  mutate(year= year(date)) %>%
  group_by(State,year) %>%
  summarise(claims= sum(Continued.Claims)) %>%
  ungroup()

View(claims)
View(claims2)

Ejercicio #3

Identificar valores nulos

diagnose(claims2)
## # A tibble: 3 x 6
##   variables types     missing_count missing_percent unique_count unique_rate
##   <chr>     <chr>             <int>           <dbl>        <int>       <dbl>
## 1 State     character             0               0           53      0.5   
## 2 year      numeric               0               0            2      0.0189
## 3 claims    integer               0               0          106      1

La columna missing_count muestra valores de O para cada variable, por lo tanto no hay valores nulos.

Ejercicio #4

Identificar variables con números negativos

diagnose_numeric(claims2)
## # A tibble: 2 x 10
##   variables   min     Q1    mean  median      Q3     max  zero minus outlier
##   <chr>     <dbl>  <dbl>   <dbl>   <dbl>   <dbl>   <dbl> <int> <int>   <int>
## 1 year       2019  2019    2020.   2020.   2020     2020     0     0       0
## 2 claims     1696 53600. 540838. 192966  571886. 6816748     0     0      12

La columna minus muestra valores de 0 para cada variable, por lo tanto no hay variables con números negativos.

Ejercicio #5

Obtenga un nuevo dataframe con los valores del 2020 únicamente.

 claims2020 <- claims2 %>%
filter(year ==2020)

Ejercicio #6

Diagnostique la variable claims (datos filtrados por 2020), mediante la función utilizada en la clase.

diagnose_numeric(claims2020) %>%
filter(variables=="claims")
## # A tibble: 1 x 10
##   variables   min     Q1    mean median      Q3     max  zero minus outlier
##   <chr>     <dbl>  <dbl>   <dbl>  <dbl>   <dbl>   <dbl> <int> <int>   <int>
## 1 claims     4224 236728 964152. 549852 1155944 6816748     0     0       4

Ejercicio #7

Obtenga la distribución de frecuencias de claims (2020)

options(scipen = 99999)

claimsDisti <- claims2020 %>%
  mutate(bin = binning(claims2020$claims, type = "pretty"),
         bin = format(bin,digits = 3,scientific = FALSE)) %>%
  group_by(bin) %>%
  summarise(Freq = n()) %>%
  mutate(realFreq = prop.table(Freq),
         Cumulative_Freq = cumsum(Freq),
         Cumulative_Relative_Freq = cumsum(realFreq)
  )

claimsDisti
## # A tibble: 6 x 5
##   bin              Freq realFreq Cumulative_Freq Cumulative_Relative_Freq
##   <chr>           <int>    <dbl>           <int>                    <dbl>
## 1 "(1e+06,2e+06]"     9   0.170                9                    0.170
## 2 "(2e+06,3e+06]"     4   0.0755              13                    0.245
## 3 "(3e+06,4e+06]"     1   0.0189              14                    0.264
## 4 "(4e+06,5e+06]"     1   0.0189              15                    0.283
## 5 "(6e+06,7e+06]"     1   0.0189              16                    0.302
## 6 "[0,1e+06]    "    37   0.698               53                    1.00

Ejercicio #8

Obtenga el histograma de la variable claims. Analice los resultados.

binPretty2 <- binning(claims2020$claims,
                     type = "pretty"
                     )

plot(binPretty2, sub = "Claims Histogram")

Ejercicio Bonus

Explique que hace el código del chunk adjuntado en este documento.

A grandes rasgos mediante este chunk:

  1. Se agrega la columna date que es la columna Filed.week.ended en formato date, al dataframe Claims.
  2. Con los datos del data frame Claims se crea el dataframe Claims2, filtrando los datos por el mes de Abril, agrupándolos por las variables State y year y sumarizando los Continued.Claims de cada grupo.

Línea por línea:

claims\(date <- as.Date(claims\)Filed.week.ended, format = ‘%m/%d/%Y’) >>> Con la funcion as.Date convierte la variable Filed.week.ended a formato date, segmentado por m=month, d=day y y=year
claims2 <- claims %>% >>> Usando el dataframe claims, crea un dataframe llamado claims2 con las siguientes especificaciones:
filter(month(date)==4) %>% >>> Filtra el dataframe por el mes 4 = abril
mutate(year= year(date)) %>% >> Crea una columna year con la función year() que extrae el año de la variable date
group_by(State,year) %>% >>> Agrupa la información del data frame primero por State y luego por Year
summarise(claims= sum(Continued.Claims)) %>% crea la columna claims utilizando sum() para sumar los valores de Continued.Claims

ungroup() >>> Elimina el agrupamiento para futuras operaciones en claims2