Grupo 03: Kervin Alfaro, Karol Esquivel

Ejercicio #1

Cargue el archivo unemploymentClaims.csv proveido por el profesor en el siguiente link(Debe hacerlo directamente desde la función read.csv:

library(dplyr)
library(lubridate)
library(dlookr)
library(scales)
library(dplyr)
claims <- read.csv('https://raw.githubusercontent.com/DFJL/Datasets/master/unemploymentClaims.csv', sep = ";")

head(claims)
##     State Filed.week.ended Continued.Claims Covered.Employment
## 1 Alabama         1/4/2020            18523            1923741
## 2 Alabama        1/11/2020            21143            1923741
## 3 Alabama       01/18/2020            17402            1923741
## 4 Alabama       01/25/2020             1839            1923741
## 5 Alabama         2/1/2020            17284            1923741
## 6 Alabama         2/8/2020            16745            1923741

Ejercicio #2

Resuma el dataframe con el siguiente código

#Previanmente he cargado el archivo con el nombre de claims

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

claims2 <- claims %>%
  mutate(year= year(date),
         month= month(date)) %>%
  filter(year==2020) %>%
  group_by(State,year,month,date) %>%
  summarise(claims= sum(Continued.Claims),
            TotalEmployment=sum(Covered.Employment)) %>%
  ungroup()
## `summarise()` regrouping output by 'State', 'year', 'month' (override with `.groups` argument)

Ejercicio #3

Escoja un estado y filtre los datos en un nuevo dataframe. Seleccionamos el estado Arizona

claimsArizona <- claims2%>%
filter (State == 'Arizona')

claimsArizona
## # A tibble: 17 x 6
##    State    year month date       claims TotalEmployment
##    <chr>   <dbl> <dbl> <date>      <int>           <int>
##  1 Arizona  2020     1 2020-01-04  17991         2864180
##  2 Arizona  2020     1 2020-01-11  18259         2864180
##  3 Arizona  2020     1 2020-01-18  18421         2864180
##  4 Arizona  2020     1 2020-01-25  18401         2864180
##  5 Arizona  2020     2 2020-02-01  18854         2864180
##  6 Arizona  2020     2 2020-02-08  18461         2864180
##  7 Arizona  2020     2 2020-02-15  18516         2864180
##  8 Arizona  2020     2 2020-02-22  18217         2864180
##  9 Arizona  2020     2 2020-02-29  18137         2864180
## 10 Arizona  2020     3 2020-03-07  17593         2864180
## 11 Arizona  2020     3 2020-03-14  17595         2864180
## 12 Arizona  2020     3 2020-03-21  18108         2864180
## 13 Arizona  2020     3 2020-03-28  26387         2864180
## 14 Arizona  2020     4 2020-04-04  62597         2864180
## 15 Arizona  2020     4 2020-04-11 120592         2864180
## 16 Arizona  2020     4 2020-04-18 170262         2885408
## 17 Arizona  2020     4 2020-04-25 196401         2885408

Ejercicio #4

Cree un boxplot por la variable month para la variable claims.

boxplotclaimsArizona<- boxplot(claims~month,
                     data=claimsArizona,
                     main="Claims por mes",
                     xlab="Mes",
                     ylab="Cambio Porcentual",
                     col="orange",
                     border="brown"
                     )

print(boxplotclaimsArizona)
## $stats
##       [,1]  [,2]    [,3]     [,4]
## [1,] 17991 18137 17593.0  62597.0
## [2,] 18125 18217 17594.0  91594.5
## [3,] 18330 18461 17851.5 145427.0
## [4,] 18411 18516 22247.5 183331.5
## [5,] 18421 18854 26387.0 196401.0
## attr(,"class")
##         1 
## "integer" 
## 
## $n
## [1] 4 5 4 4
## 
## $conf
##          [,1]     [,2]     [,3]      [,4]
## [1,] 18104.06 18249.73 14175.24  72954.77
## [2,] 18555.94 18672.27 21527.76 217899.23
## 
## $out
## numeric(0)
## 
## $group
## numeric(0)
## 
## $names
## [1] "1" "2" "3" "4"

Ejercicio #5

Realice un diagnostico de outliers.

#Diagnóstico de outliers

outliersClaimsArizona <- diagnose_outlier(claimsArizona)
  
outliersClaimsArizona
## # A tibble: 4 x 6
##   variables     outliers_cnt outliers_ratio outliers_mean with_mean without_mean
##   <chr>                <int>          <dbl>         <dbl>     <dbl>        <dbl>
## 1 year                     0            0             NaN    2.02e3      2020   
## 2 month                    0            0             NaN    2.47e0         2.47
## 3 claims                   4           23.5        137463    4.68e4     18842.  
## 4 TotalEmploym…            2           11.8       2885408    2.87e6   2864180
#Diagnóstico de outliers con ratio porcentual

outliersClaimsArizonaratio <- diagnose_outlier(claimsArizona) %>%
  mutate(outliers_ratio= percent(outliers_ratio/100,accuracy = 2))
  
outliersClaimsArizonaratio
## # A tibble: 4 x 6
##   variables     outliers_cnt outliers_ratio outliers_mean with_mean without_mean
##   <chr>                <int> <chr>                  <dbl>     <dbl>        <dbl>
## 1 year                     0 0%                       NaN    2.02e3      2020   
## 2 month                    0 0%                       NaN    2.47e0         2.47
## 3 claims                   4 24%                   137463    4.68e4     18842.  
## 4 TotalEmploym…            2 12%                  2885408    2.87e6   2864180

Ejercicio #6

Corrija la columna with_mean y without_mean en caso de ser necesario, para que el resultado se muestre en notación numérica( Investigue la función format)

outlier <- diagnose_outlier(claimsArizona)%>%
mutate(with_mean= format(with_mean,digits = 0,scientific = FALSE),
without_mean= format(without_mean,digits = 0,scientific = FALSE))
outlier
## # A tibble: 4 x 6
##   variables     outliers_cnt outliers_ratio outliers_mean with_mean without_mean
##   <chr>                <int>          <dbl>         <dbl> <chr>     <chr>       
## 1 year                     0            0             NaN "   2020" "   2020"   
## 2 month                    0            0             NaN "      2" "      2"   
## 3 claims                   4           23.5        137463 "  46752" "  18842"   
## 4 TotalEmploym…            2           11.8       2885408 "2866677" "2864180"

Ejercicio #7

Grafique el diagnóstico de outliers para la variable claims.

outlierD <- outlier %>% 
          filter(outliers_ratio >= 20) %>% 
          select(variables) %>% 
          unlist()

plot_outlier(claimsArizona, all_of(outlierD))

Ejercicio #8

Analice los resultados de outliers.

Variable Claims

Ejercicio #9

Realice un análisis de la curtosis de la distribución, según la clasificación dada en clase.

claimsArizona %>%
  describe() %>%
  select(variable, skewness,kurtosis, mean, p25, p50, p75) %>% 
  filter(!is.na(skewness)) %>% 
  arrange(desc(abs(skewness)))
## # A tibble: 3 x 7
##   variable        skewness kurtosis       mean     p25     p50     p75
##   <chr>              <dbl>    <dbl>      <dbl>   <dbl>   <dbl>   <dbl>
## 1 TotalEmployment   2.61       5.44 2866677.   2864180 2864180 2864180
## 2 claims            1.96       2.62   46752.     18137   18421   26387
## 3 month             0.0827    -1.31       2.47       2       2       3

Curtosis

Ejercicio #10

Realice un análisis de la asimetría de la distribución, según la clasificación dada en clase.