##Integrantes: ###Jorge Yanann Vasquez ###Roberto Severino

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


library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(lubridate)
## 
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
## 
##     date, intersect, setdiff, union
library(dlookr)
## Either Arial Narrow or Liberation Sans Narrow fonts are required to Viz.
## Please use dlookr::import_liberation() to install Liberation Sans Narrow font.
## 
## Attaching package: 'dlookr'
## The following object is masked from 'package:base':
## 
##     transform

Previanmente he cargado el archivo con el nombre de claims

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()
## `summarise()` has grouped output by 'State'. You can override using the `.groups` argument.

claims claims2

3- Indique mediante la utilización de una función, si alguna de las variables tiene valores nulos.

diagnose(claims2)
## # A tibble: 3 × 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

4- Indique mediante la utilización de una función, si alguna de las variables tiene valores negativos.

diagnose_numeric(claims2)
## # A tibble: 2 × 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
describe(claims2)
## # A tibble: 2 × 26
##   variable     n    na    mean         sd se_mean    IQR skewness kurtosis   p00
##   <chr>    <int> <int>   <dbl>      <dbl>   <dbl>  <dbl>    <dbl>    <dbl> <dbl>
## 1 year       106     0   2020.      0.502 4.88e-2 1   e0     0       -2.04  2019
## 2 claims     106     0 540838. 973997.    9.46e+4 5.18e5     3.88    19.2   1696
## # … with 16 more variables: p01 <dbl>, p05 <dbl>, p10 <dbl>, p20 <dbl>,
## #   p25 <dbl>, p30 <dbl>, p40 <dbl>, p50 <dbl>, p60 <dbl>, p70 <dbl>,
## #   p75 <dbl>, p80 <dbl>, p90 <dbl>, p95 <dbl>, p99 <dbl>, p100 <dbl>

5- Obtenga un nuevo data frame con los datos solamente del 2020.

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

claims2020
## # A tibble: 53 × 3
##    State                 year  claims
##    <chr>                <dbl>   <int>
##  1 Alabama               2020  465683
##  2 Alaska                2020  155328
##  3 Arizona               2020  549852
##  4 Arkansas              2020  303625
##  5 California            2020 6816748
##  6 Colorado              2020  640324
##  7 Connecticut           2020  952293
##  8 Delaware              2020  132447
##  9 District of Columbia  2020  173608
## 10 Florida               2020 1155944
## # … with 43 more rows

Para los datos filtrados según el ejercicio anterior:

6- Diagnostique la variable claims, mediante la función utilizada en clase.Analice los resultados

diagnose(claims2020) %>%
  filter(variables=="claims")
## # A tibble: 1 × 6
##   variables types   missing_count missing_percent unique_count unique_rate
##   <chr>     <chr>           <int>           <dbl>        <int>       <dbl>
## 1 claims    integer             0               0           53           1
diagnose_numeric(claims2020) %>%
  filter(variables=="claims")
## # A tibble: 1 × 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

El valor mínimo de la variable claims es 4224, mientras que el máximo es 6816748, la media es 964151,9 y la mediana 549852. El primer cuartil es 236728 y el tercer cuartil 1155944. No hay observaciones con valor cero o negativos y hay 4 valores extremos.

7- Obtenga la distribución de frecuencias de la variable claims

options(scipen = 99999)

claimsDist <- 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)
  )

claimsDist
## # A tibble: 6 × 5
##   bin                  Freq realFreq Cumulative_Freq Cumulative_Relative_Freq
##   <chr>               <int>    <dbl>           <int>                    <dbl>
## 1 "(1000000,2000000]"     9   0.170                9                    0.170
## 2 "(2000000,3000000]"     4   0.0755              13                    0.245
## 3 "(3000000,4000000]"     1   0.0189              14                    0.264
## 4 "(4000000,5000000]"     1   0.0189              15                    0.283
## 5 "(6000000,7000000]"     1   0.0189              16                    0.302
## 6 "[0,1000000]      "    37   0.698               53                    1
diagnose_outlier(claims2020)
## # A tibble: 2 × 6
##   variables outliers_cnt outliers_ratio outliers_mean with_mean without_mean
##   <chr>            <int>          <dbl>         <dbl>     <dbl>        <dbl>
## 1 year                 0           0             NaN      2020         2020 
## 2 claims               4           7.55      4340036.   964152.      688570.
plot_outlier(claims2020)

8- Obtenga el histograma de la variable claims.Analicelo los resultados.

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

plot(binPrettyClaims, sub = "Claims Histogram")

Concentración de valores en el la primera frecuencia, la mayoría de estados tienen menos de 1 millón de claims. Menos de 5 estados tienen entre 2 y 3 millones de claims. Solo 1 estado muestra entre 3 - 4 millones de Claims, lo mismo sucede con los rangos 4 - 5 millones y 6-7 millones. No hay estados que tengan entre 5 y 6 millones de claims. Tiene outliers muy altos.

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

Basicamente el codigo cambia el formato de la fecha separando el mes del año para poder ser manipulado de manera numerica.