Jimena Miguel | Vanessa Elizondo | Ricardo Galicia | José Luis Elizondo | Daniela Cárdenas

Análisis de base de datos FORM: Recursos Humanos

Entregable R2 (EVIDENCIA 2.1): Conocimiento y preparación de las bases de datos para el análisis de las variables relevantes

Descargar librerías

library(foreign)
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(forcats)
library(ggplot2)
library(readr)
library(janitor)
## 
## Attaching package: 'janitor'
## The following objects are masked from 'package:stats':
## 
##     chisq.test, fisher.test
library(Hmisc)
## Loading required package: lattice
## Loading required package: survival
## Loading required package: Formula
## 
## Attaching package: 'Hmisc'
## The following objects are masked from 'package:dplyr':
## 
##     src, summarize
## The following objects are masked from 'package:base':
## 
##     format.pval, units
library(psych)
## 
## Attaching package: 'psych'
## The following object is masked from 'package:Hmisc':
## 
##     describe
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
library(naniar)
library(dlookr)
## 
## Attaching package: 'dlookr'
## The following object is masked from 'package:psych':
## 
##     describe
## The following object is masked from 'package:Hmisc':
## 
##     describe
## The following object is masked from 'package:base':
## 
##     transform
library(corrplot)
## corrplot 0.92 loaded
library(jtools)
## 
## Attaching package: 'jtools'
## The following object is masked from 'package:Hmisc':
## 
##     %nin%
library(lmtest)
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(car)
## Loading required package: carData
## 
## Attaching package: 'car'
## The following object is masked from 'package:psych':
## 
##     logit
## The following object is masked from 'package:dplyr':
## 
##     recode
library(olsrr)
## 
## Attaching package: 'olsrr'
## The following object is masked from 'package:datasets':
## 
##     rivers
library(kableExtra)
## 
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows
library(gmodels)
library(openxlsx)

Instalar paquetes

#install.packages("gmodels")
#install.packages("openxlsx")

1. ¿Cuántas variables y cuántos registros tiene la base de datos?

### Importar base de datos
df1 <-read.csv(file.choose())
summary(df1)
##  NO.DE.EMPLEADO    APELLIDOS            NOMBRE          FECHA.DE.NACIMIENTO
##  Min.   :  0.00   Length:113         Length:113         Length:113         
##  1st Qu.:  8.00   Class :character   Class :character   Class :character   
##  Median : 38.00   Mode  :character   Mode  :character   Mode  :character   
##  Mean   : 46.31                                                            
##  3rd Qu.: 72.00                                                            
##  Max.   :148.00                                                            
##     GENERO              RFC            FECHA.DE.ALTA       PRIMER.MES       
##  Length:113         Length:113         Length:113         Length:113        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##   CUARTO.MES             BAJA           PUESTO          DEPARTAMENTO      
##  Length:113         Min.   :0.0000   Length:113         Length:113        
##  Class :character   1st Qu.:0.0000   Class :character   Class :character  
##  Mode  :character   Median :0.0000   Mode  :character   Mode  :character  
##                     Mean   :0.3451                                        
##                     3rd Qu.:0.0000                                        
##                     Max.   :3.0000                                        
##  NO.SEGURO.SOCIAL   SALARIO.DIARIO.IMSS FACTOR.CRED.INFONAVIT
##  Length:113         Min.   :1.440e+02   Length:113           
##  Class :character   1st Qu.:1.770e+02   Class :character     
##  Mode  :character   Median :1.810e+02   Mode  :character     
##                     Mean   :1.346e+07                        
##                     3rd Qu.:1.810e+02                        
##                     Max.   :1.517e+09                        
##  N.CREDITO.INFONAVIT LUGAR.DE.NACIMIENTO     CURP              CALLE          
##  Min.   :0.000e+00   Length:113          Length:113         Length:113        
##  1st Qu.:0.000e+00   Class :character    Class :character   Class :character  
##  Median :0.000e+00   Mode  :character    Mode  :character   Mode  :character  
##  Mean   :6.770e+07                                                            
##  3rd Qu.:0.000e+00                                                            
##  Max.   :1.922e+09                                                            
##  NUMERO.INTERNO       COLONIA           MUNICIPIO            ESTADO         
##  Length:113         Length:113         Length:113         Length:113        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##  CODIGO.POSTAL   ESTADO.CIVIL       TARJETA_CUENTA    
##  Min.   :25016   Length:113         Length:113        
##  1st Qu.:66640   Class :character   Class :character  
##  Median :66646   Mode  :character   Mode  :character  
##  Mean   :63365                                        
##  3rd Qu.:66649                                        
##  Max.   :67493
describe(df1)
## # A tibble: 5 × 26
##   described_v…¹     n    na    mean      sd se_mean   IQR skewn…² kurto…³    p00
##   <chr>         <int> <int>   <dbl>   <dbl>   <dbl> <dbl>   <dbl>   <dbl>  <dbl>
## 1 NO.DE.EMPLEA…   113     0 4.63e+1 4.24e+1 3.99e+0 64      0.741  -0.465     0 
## 2 BAJA            113     0 3.45e-1 9.61e-1 9.04e-2  0      2.45    4.05      0 
## 3 SALARIO.DIAR…   113     0 1.35e+7 1.43e+8 1.34e+7  3.96  10.6   113.      144.
## 4 N.CREDITO.IN…   113     0 6.77e+7 3.55e+8 3.34e+7  0      5.10   24.4       0 
## 5 CODIGO.POSTAL   113     0 6.34e+4 1.12e+4 1.05e+3  9     -3.14    8.01  25016 
## # … 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>, and
## #   abbreviated variable names ¹​described_variables, ²​skewness, ³​kurtosis
## R. Usando la función "describe" se puede realizar una estadística descriptiva más ptofunda. Para este argumento, vemos que se tienen 113 registros y 26 variables.

2. Clasifica cada variable en cualitativa, cuantitativa discreta o cuantitativa continua.

## Tipos de variables

### NO DE EMPLEADO: Cuantitativa discreta.
### APELLIDOS: Cualitativa.
### NOMBRE: Cualitativa.
### FECHA DE NACIMIENTO: Cuantitativa discreta.
### GENERO: Cualitativa.
### RFC: Cualitativa.
### FECHA DE ALTA: Cuantitativa discreta.
### PRIMER MES: Cuantitativa discreta.
### CUARTO MES: Cuantitativa discreta.
### BAJA: Cuantitativa discreta.
### PUESTO: Cualitativa.
### DEPARTAMENTO: Cualitativa.
### NO SEGURO SOCIAL: Cuantitativa discreta..
### SALARIO DIARIO IMSS: Cuantitativa continua.
### FACTOR CRED INFONAVIT: Cuantitativa continua.
### N CREDITO INFONAVIT: Cuantitativa continua.
### LUGAR DE NACIMIENTO: Cualitativa.
### CURP: Cualitativa.
### CALLE: Cualitativa.
### NUMERO INTERNO: Cuantitativa discreta.
### COLONIA: Cuantitativa discreta.
### MUNICIPIO: Cualitativa.
### ESTADO: Cualitativa.
### CODIGO POSTAL: Cuantitativa discreta.
### ESTADO CIVIL: Cualitativa.
### TARJETA_CUENTA: Cualitativa.

3. Elige la escala de medición de cada variable.

Ordinal <- c("NO.DE.EMPLEADO","APELLIDOS","NOMBRE","GENERO","RFC","PUESTO")
Nominal <- c("FECHA.DE.NACIMIENTO","FECHA.DE.ALTA","FECHA.DE.BAJA","PRIMER.MES","CUARTO.MES","DEPARTAMENTO","NO.SEGURO.SOCIAL","LUGAR.DE.NACIMIENTO","CURP","CALLE","NUMERO.INTERNO","COLONIA","MUNICIPIO","CODIGO.POSTAL","ESTADO","ESTADO.CIVIL")
Intervalo <- c("SALARIO.DIARIO.IMSS","FACTOR.CRED.INFONAVIT","N.CREDITO.INFONAVIT")
Razon <- c("BAJA","TARJETA_CUENTA")

ls1<- list(Ordinal,Nominal,Intervalo,Razon)
ls1
## [[1]]
## [1] "NO.DE.EMPLEADO" "APELLIDOS"      "NOMBRE"         "GENERO"        
## [5] "RFC"            "PUESTO"        
## 
## [[2]]
##  [1] "FECHA.DE.NACIMIENTO" "FECHA.DE.ALTA"       "FECHA.DE.BAJA"      
##  [4] "PRIMER.MES"          "CUARTO.MES"          "DEPARTAMENTO"       
##  [7] "NO.SEGURO.SOCIAL"    "LUGAR.DE.NACIMIENTO" "CURP"               
## [10] "CALLE"               "NUMERO.INTERNO"      "COLONIA"            
## [13] "MUNICIPIO"           "CODIGO.POSTAL"       "ESTADO"             
## [16] "ESTADO.CIVIL"       
## 
## [[3]]
## [1] "SALARIO.DIARIO.IMSS"   "FACTOR.CRED.INFONAVIT" "N.CREDITO.INFONAVIT"  
## 
## [[4]]
## [1] "BAJA"           "TARJETA_CUENTA"

4. Aplica al menos 2 técnicas de limpieza de bases de datos y explícalas brevemente. ¿Por qué realizaste esas técnicas?

## R. Remover datos irrelevantes y convertir tipos de datos. Se utilizó cada una de estas técnicas, ya que la base de datos tenía información inexacta y repetida en algunas columnas. Con esta limpieza, se obtuvieron datos precisos y uniformes.

### Mostrar estadísticas descriptivas de la base de datos
summary(df1)
##  NO.DE.EMPLEADO    APELLIDOS            NOMBRE          FECHA.DE.NACIMIENTO
##  Min.   :  0.00   Length:113         Length:113         Length:113         
##  1st Qu.:  8.00   Class :character   Class :character   Class :character   
##  Median : 38.00   Mode  :character   Mode  :character   Mode  :character   
##  Mean   : 46.31                                                            
##  3rd Qu.: 72.00                                                            
##  Max.   :148.00                                                            
##     GENERO              RFC            FECHA.DE.ALTA       PRIMER.MES       
##  Length:113         Length:113         Length:113         Length:113        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##   CUARTO.MES             BAJA           PUESTO          DEPARTAMENTO      
##  Length:113         Min.   :0.0000   Length:113         Length:113        
##  Class :character   1st Qu.:0.0000   Class :character   Class :character  
##  Mode  :character   Median :0.0000   Mode  :character   Mode  :character  
##                     Mean   :0.3451                                        
##                     3rd Qu.:0.0000                                        
##                     Max.   :3.0000                                        
##  NO.SEGURO.SOCIAL   SALARIO.DIARIO.IMSS FACTOR.CRED.INFONAVIT
##  Length:113         Min.   :1.440e+02   Length:113           
##  Class :character   1st Qu.:1.770e+02   Class :character     
##  Mode  :character   Median :1.810e+02   Mode  :character     
##                     Mean   :1.346e+07                        
##                     3rd Qu.:1.810e+02                        
##                     Max.   :1.517e+09                        
##  N.CREDITO.INFONAVIT LUGAR.DE.NACIMIENTO     CURP              CALLE          
##  Min.   :0.000e+00   Length:113          Length:113         Length:113        
##  1st Qu.:0.000e+00   Class :character    Class :character   Class :character  
##  Median :0.000e+00   Mode  :character    Mode  :character   Mode  :character  
##  Mean   :6.770e+07                                                            
##  3rd Qu.:0.000e+00                                                            
##  Max.   :1.922e+09                                                            
##  NUMERO.INTERNO       COLONIA           MUNICIPIO            ESTADO         
##  Length:113         Length:113         Length:113         Length:113        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##  CODIGO.POSTAL   ESTADO.CIVIL       TARJETA_CUENTA    
##  Min.   :25016   Length:113         Length:113        
##  1st Qu.:66640   Class :character   Class :character  
##  Median :66646   Mode  :character   Mode  :character  
##  Mean   :63365                                        
##  3rd Qu.:66649                                        
##  Max.   :67493
tibble(df1)
## # A tibble: 113 × 26
##    NO.DE.EMP…¹ APELL…² NOMBRE FECHA…³ GENERO RFC   FECHA…⁴ PRIME…⁵ CUART…⁶  BAJA
##          <int> <chr>   <chr>  <chr>   <chr>  <chr> <chr>   <chr>   <chr>   <int>
##  1           1 MARTIN… NICOL… 10/09/… MASCU… MALN… 01/07/… 31/07/… 29/10/…     0
##  2           2 DE LEO… MARIA0 14/05/… FEMEN… LEMM… 01/07/… 31/07/… 29/10/…     0
##  3           3 HER0ND… JOSE … 21/11/… MASCU… HECL… 22/11/… 00/01/… 00/01/…     0
##  4           4 CAZARE… MARIA  01/05/… FEMEN… CAMM… 30/01/… 01/03/… 30/05/…     0
##  5           5 LOPEZ … YOLAN… 06/09/… FEMEN… LORY… 05/05/… 04/06/… 02/09/…     0
##  6           6 HER0ND… HERME… 22/06/… MASCU… HEMH… 03/07/… 02/08/… 31/10/…     0
##  7           7 PERALT… ARACE… 01/07/… FEMEN… PEMA… 06/08/… 05/09/… 04/12/…     0
##  8           8 TOVAR … PEDRO… 10/12/… MASCU… TOPP… 23/08/… 22/09/… 21/12/…     0
##  9           9 MORENO… HUMBE… 03/11/… MASCU… MOSH… 11/01/… 10/02/… 11/05/…     0
## 10          10 LU0 LO… YOLAN… 18/08/… FEMEN… LULY… 20/02/… 22/03/… 20/06/…     0
## # … with 103 more rows, 16 more variables: PUESTO <chr>, DEPARTAMENTO <chr>,
## #   NO.SEGURO.SOCIAL <chr>, SALARIO.DIARIO.IMSS <dbl>,
## #   FACTOR.CRED.INFONAVIT <chr>, N.CREDITO.INFONAVIT <int>,
## #   LUGAR.DE.NACIMIENTO <chr>, CURP <chr>, CALLE <chr>, NUMERO.INTERNO <chr>,
## #   COLONIA <chr>, MUNICIPIO <chr>, ESTADO <chr>, CODIGO.POSTAL <int>,
## #   ESTADO.CIVIL <chr>, TARJETA_CUENTA <chr>, and abbreviated variable names
## #   ¹​NO.DE.EMPLEADO, ²​APELLIDOS, ³​FECHA.DE.NACIMIENTO, ⁴​FECHA.DE.ALTA, …
str(df1)
## 'data.frame':    113 obs. of  26 variables:
##  $ NO.DE.EMPLEADO       : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ APELLIDOS            : chr  "MARTINEZ DE LOERA" "DE LEON MORENO" "HER0NDEZ CERVANTES" "CAZARES MORALES" ...
##  $ NOMBRE               : chr  "NICOLAS" "MARIA0" "JOSE LUIS" "MARIA" ...
##  $ FECHA.DE.NACIMIENTO  : chr  "10/09/1955" "14/05/1979" "21/11/1949" "01/05/1990" ...
##  $ GENERO               : chr  "MASCULINO" "FEMENINO" "MASCULINO" "FEMENINO" ...
##  $ RFC                  : chr  "MALN550910338" "LEMM7905148GA" "HECL4911213X3" "CAMM9005019S8" ...
##  $ FECHA.DE.ALTA        : chr  "01/07/2010" "01/07/2011" "22/11/2011" "30/01/2013" ...
##  $ PRIMER.MES           : chr  "31/07/2010" "31/07/2011" "00/01/1900" "01/03/2013" ...
##  $ CUARTO.MES           : chr  "29/10/2010" "29/10/2011" "00/01/1900" "30/05/2013" ...
##  $ BAJA                 : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ PUESTO               : chr  "SUPERVISOR DE MAQUIN" "SUPERVISOR DE PEGADO" "EXTERNO" "SUPERVISORA" ...
##  $ DEPARTAMENTO         : chr  "PRODUCCION CARTON MDL" "PRODUCCION CARTON MDL" "EXTERNO" "PRODUCCION CARTON MC" ...
##  $ NO.SEGURO.SOCIAL     : chr  "43745527937" "43127902955" "2184909675" "43089001317" ...
##  $ SALARIO.DIARIO.IMSS  : num  177 177 177 337 4413757 ...
##  $ FACTOR.CRED.INFONAVIT: chr  "0" "0" "0" "0" ...
##  $ N.CREDITO.INFONAVIT  : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ LUGAR.DE.NACIMIENTO  : chr  "0" "0" "0" "0" ...
##  $ CURP                 : chr  "MALN550910HZSRRC09" "LEMM790514MCLNRR09" "HECL491121HJCRRS04" "CAMM900501MVZZRR00" ...
##  $ CALLE                : chr  "JOSE I LUGO" "44682" "HACIENDA SAN CRISTOBAL" "RIO ACAPONETA" ...
##  $ NUMERO.INTERNO       : chr  "0" "115" "0" "0" ...
##  $ COLONIA              : chr  "UNIDAD LABORAL" "SANTA TERESITA" "VILLAS DE HUI0LA" "PUEBLO NUEVO" ...
##  $ MUNICIPIO            : chr  "SAN NICOLAS DE LOS G" "APODACA" "APODACA" "APODACA" ...
##  $ ESTADO               : chr  "NUEVO LEON" "NUEVO LEON" "NUEVO LEON" "NUEVO LEON" ...
##  $ CODIGO.POSTAL        : int  66440 66605 66634 66649 66620 25016 66633 66649 25290 66473 ...
##  $ ESTADO.CIVIL         : chr  "SOLTERO" "SOLTERO" "SOLTERO" "CASADO" ...
##  $ TARJETA_CUENTA       : chr  "BANORTE" "BANORTE" "BANORTE" "BANORTE" ...
head(df1)
##   NO.DE.EMPLEADO          APELLIDOS       NOMBRE FECHA.DE.NACIMIENTO    GENERO
## 1              1  MARTINEZ DE LOERA      NICOLAS          10/09/1955 MASCULINO
## 2              2     DE LEON MORENO       MARIA0          14/05/1979  FEMENINO
## 3              3 HER0NDEZ CERVANTES    JOSE LUIS          21/11/1949 MASCULINO
## 4              4    CAZARES MORALES        MARIA          01/05/1990  FEMENINO
## 5              5        LOPEZ RAMOS      YOLANDA          06/09/1965  FEMENINO
## 6              6  HER0NDEZ MARTÍNEZ HERMENEGILDO          22/06/1984 MASCULINO
##             RFC FECHA.DE.ALTA PRIMER.MES CUARTO.MES BAJA               PUESTO
## 1 MALN550910338    01/07/2010 31/07/2010 29/10/2010    0 SUPERVISOR DE MAQUIN
## 2 LEMM7905148GA    01/07/2011 31/07/2011 29/10/2011    0 SUPERVISOR DE PEGADO
## 3 HECL4911213X3    22/11/2011 00/01/1900 00/01/1900    0              EXTERNO
## 4 CAMM9005019S8    30/01/2013 01/03/2013 30/05/2013    0          SUPERVISORA
## 5 LORY650906DBA    05/05/2014 04/06/2014 02/09/2014    0          SUPERVISORA
## 6 HEMH8406229JA    03/07/2014 02/08/2014 31/10/2014    0 CUSTOMER SERVICE INF
##            DEPARTAMENTO NO.SEGURO.SOCIAL SALARIO.DIARIO.IMSS
## 1 PRODUCCION CARTON MDL      43745527937              176.72
## 2 PRODUCCION CARTON MDL      43127902955              176.72
## 3               EXTERNO       2184909675              176.72
## 4  PRODUCCION CARTON MC      43089001317              337.05
## 5               COSTURA      43836531525          4413757.00
## 6                 CEDIS      43028485795              176.72
##   FACTOR.CRED.INFONAVIT N.CREDITO.INFONAVIT LUGAR.DE.NACIMIENTO
## 1                     0                   0                   0
## 2                     0                   0                   0
## 3                     0                   0                   0
## 4                     0                   0                   0
## 5                     0                   0                   0
## 6                     0                   0                   0
##                 CURP                  CALLE NUMERO.INTERNO           COLONIA
## 1 MALN550910HZSRRC09            JOSE I LUGO              0    UNIDAD LABORAL
## 2 LEMM790514MCLNRR09                  44682            115    SANTA TERESITA
## 3 HECL491121HJCRRS04 HACIENDA SAN CRISTOBAL              0  VILLAS DE HUI0LA
## 4 CAMM900501MVZZRR00          RIO ACAPONETA              0      PUEBLO NUEVO
## 5 LORY650906MNLPML08               BETANZOS              0 RINCON DE GALICIA
## 6 HEMH840622HSPRRR00              EUCALIPTO              0   IG0CIO ZARAGOZA
##              MUNICIPIO     ESTADO CODIGO.POSTAL ESTADO.CIVIL TARJETA_CUENTA
## 1 SAN NICOLAS DE LOS G NUEVO LEON         66440      SOLTERO        BANORTE
## 2              APODACA NUEVO LEON         66605      SOLTERO        BANORTE
## 3              APODACA NUEVO LEON         66634      SOLTERO        BANORTE
## 4              APODACA NUEVO LEON         66649       CASADO        BANORTE
## 5              APODACA NUEVO LEON         66620      SOLTERO        BANORTE
## 6             SALTILLO   COAHUILA         25016       CASADO        BANORTE
head(df1, n=5)
##   NO.DE.EMPLEADO          APELLIDOS    NOMBRE FECHA.DE.NACIMIENTO    GENERO
## 1              1  MARTINEZ DE LOERA   NICOLAS          10/09/1955 MASCULINO
## 2              2     DE LEON MORENO    MARIA0          14/05/1979  FEMENINO
## 3              3 HER0NDEZ CERVANTES JOSE LUIS          21/11/1949 MASCULINO
## 4              4    CAZARES MORALES     MARIA          01/05/1990  FEMENINO
## 5              5        LOPEZ RAMOS   YOLANDA          06/09/1965  FEMENINO
##             RFC FECHA.DE.ALTA PRIMER.MES CUARTO.MES BAJA               PUESTO
## 1 MALN550910338    01/07/2010 31/07/2010 29/10/2010    0 SUPERVISOR DE MAQUIN
## 2 LEMM7905148GA    01/07/2011 31/07/2011 29/10/2011    0 SUPERVISOR DE PEGADO
## 3 HECL4911213X3    22/11/2011 00/01/1900 00/01/1900    0              EXTERNO
## 4 CAMM9005019S8    30/01/2013 01/03/2013 30/05/2013    0          SUPERVISORA
## 5 LORY650906DBA    05/05/2014 04/06/2014 02/09/2014    0          SUPERVISORA
##            DEPARTAMENTO NO.SEGURO.SOCIAL SALARIO.DIARIO.IMSS
## 1 PRODUCCION CARTON MDL      43745527937              176.72
## 2 PRODUCCION CARTON MDL      43127902955              176.72
## 3               EXTERNO       2184909675              176.72
## 4  PRODUCCION CARTON MC      43089001317              337.05
## 5               COSTURA      43836531525          4413757.00
##   FACTOR.CRED.INFONAVIT N.CREDITO.INFONAVIT LUGAR.DE.NACIMIENTO
## 1                     0                   0                   0
## 2                     0                   0                   0
## 3                     0                   0                   0
## 4                     0                   0                   0
## 5                     0                   0                   0
##                 CURP                  CALLE NUMERO.INTERNO           COLONIA
## 1 MALN550910HZSRRC09            JOSE I LUGO              0    UNIDAD LABORAL
## 2 LEMM790514MCLNRR09                  44682            115    SANTA TERESITA
## 3 HECL491121HJCRRS04 HACIENDA SAN CRISTOBAL              0  VILLAS DE HUI0LA
## 4 CAMM900501MVZZRR00          RIO ACAPONETA              0      PUEBLO NUEVO
## 5 LORY650906MNLPML08               BETANZOS              0 RINCON DE GALICIA
##              MUNICIPIO     ESTADO CODIGO.POSTAL ESTADO.CIVIL TARJETA_CUENTA
## 1 SAN NICOLAS DE LOS G NUEVO LEON         66440      SOLTERO        BANORTE
## 2              APODACA NUEVO LEON         66605      SOLTERO        BANORTE
## 3              APODACA NUEVO LEON         66634      SOLTERO        BANORTE
## 4              APODACA NUEVO LEON         66649       CASADO        BANORTE
## 5              APODACA NUEVO LEON         66620      SOLTERO        BANORTE
tail(df1)
##     NO.DE.EMPLEADO        APELLIDOS            NOMBRE FECHA.DE.NACIMIENTO
## 108              0      VERA VALDEZ       JOSE MANUEL          23/12/1994
## 109              0    ZAPATA GARCIA      ADRIA0 IRENE          05/05/1977
## 110              0 QUINTANILLA RUIZ      BRAYAN JESUS          12/03/2002
## 111              0    SALAS MORALES ALVIERI SEBASTIAN          01/04/2003
## 112              0    ALVAREZ DORIA     EDGAR HORACIO          11/06/1989
## 113              0   VAZQUEZ GAYTAN             SOFIA          18/09/1972
##        GENERO           RFC FECHA.DE.ALTA PRIMER.MES CUARTO.MES BAJA
## 108 MASCULINO VEVM9412238W8    18/08/2022 18/09/2022 18/12/2022    0
## 109  FEMENINO ZAGA770505VA6    19/08/2022 19/09/2022 19/12/2022    0
## 110 MASCULINO QURB020312FT5    19/08/2022 19/09/2022 19/12/2022    0
## 111 MASCULINO SAMA030401V11    23/08/2022 23/09/2022 23/12/2022    0
## 112 MASCULINO AADE890611LN5    23/08/2022 23/09/2022 23/12/2022    0
## 113  FEMENINO VAGS720918SKA    23/08/2022 23/09/2022 23/12/2022    0
##                        PUESTO DEPARTAMENTO NO.SEGURO.SOCIAL SALARIO.DIARIO.IMSS
## 108 AYUDANTE DE MANTENIMIENTO            0      35149402816              180.68
## 109                 COSTURERA            0      43947745741              180.68
## 110          AYUDANTE GENERAL            0     05 180278862              180.68
## 111          AYUDANTE GENERAL            0      60170348043              180.68
## 112            MONTACARGUISTA            0      43058988700              180.68
## 113          AYUDANTE GENERAL            0      47907208715              180.68
##     FACTOR.CRED.INFONAVIT N.CREDITO.INFONAVIT
## 108                     0                   0
## 109                     0                   0
## 110                     0                   0
## 111                     0                   0
## 112                     0                   0
## 113                     0                   0
##                      LUGAR.DE.NACIMIENTO               CURP          CALLE
## 108               EBANO, SAN LUIS POTOSI VEVM941223HSPRLN07 MIER Y NORIEGA
## 109                  HIDALGO, TAMAULIPAS ZAGA770505MTSPRD06         AZALEA
## 110                MONTERREY, NUEVO LEON QURB020312HNLNZRA1 RIO USUMACINTA
## 111 SAN NICOLAS DE LOS GARZA, NUEVO LEON SAMA030401HNLLRLA1          ROBLE
## 112                GUADALUPE, NUEVO LEON   AADE890611HNLLRD RIO PAPALOAPAN
## 113                MONTERREY, NUEVO LEON VAGS720918MNLZYF00        FRANCIA
##     NUMERO.INTERNO                 COLONIA MUNICIPIO     ESTADO CODIGO.POSTAL
## 108           106B  MIRADOR DE SAN ANTONIO    JUAREZ NUEVO LEON         67255
## 109            423 HACIENDA LAS MARGARITAS   APODACA NUEVO LEON         66647
## 110            615            PUEBLO NUEVO   APODACA NUEVO LEON         66646
## 111            357             LA ENRAMADA   APODACA NUEVO LEON         66635
## 112            722            PUEBLO NUEVO   APODACA NUEVO LEON         66646
## 113           1109           VIVIENDA DIG0   APODACA NUEVO LEON         66647
##     ESTADO.CIVIL TARJETA_CUENTA
## 108       CASADO      SANTANDER
## 109      SOLTERA        BANORTE
## 110      SOLTERO        BANORTE
## 111      SOLTERO        BANORTE
## 112  UNION LIBRE        BANORTE
## 113       CASADA        BANORTE
tabyl(df1, GENERO, ESTADO)
##     GENERO COAHUILA GUADALUPE N.L. NUEVO LEON
##   FEMENINO        1              0         60
##  MASCULINO        8              1         43
tabyl(df1, DEPARTAMENTO, BAJA)
##           DEPARTAMENTO  0 3
##                      0 32 8
##               AY FLEXO  1 0
##                CALIDAD  2 0
##                  CEDIS  8 0
##                 CELDAS  1 2
##             CORTADORAS  1 0
##                COSTURA  8 0
##             COSTURA T2  1 0
##                    EHS  3 0
##              EMBARQUES  4 0
##                EXTERNO  2 0
##               LIMPIEZA  1 0
##             MATERIALES  1 0
##               PAILERIA  3 1
##   PRODUCCION CARTON MC  5 0
##  PRODUCCION CARTON MDL  7 0
##      PRODUCCION RETORN 10 0
##               ROTATIVA  1 0
##               STABILUS  5 2
##                TROQUEL  4 0
tabyl(df1, PUESTO, BAJA)
##                          PUESTO  0  3
##                      AY GENERAL  7  0
##       AYUDANTE DE MANTENIMIENTO  1  0
##                AYUDANTE GENERAL 48 12
##                          CHOFER  4  0
##                   CHOFER GESTOR  1  0
##                       COSTURERA 10  0
##            CUSTOMER SERVICE INF  1  0
##                       ENFERMERA  1  0
##                         EXTERNO  2  0
##                          GESTOR  1  0
##            GUARDIA DE SEGURIDAD  1  0
##            INSPECTOR DE CALIDAD  1  0
##           INSPECTORA DE CALIDAD  1  0
##                           LIDER  1  0
##                        LIMPIEZA  1  0
##                   MANTENIMIENTO  1  0
##                  MONTACARGUISTA  1  0
##                            MOZO  1  0
##  OP FLEXO RANURADORA REFILADORA  1  0
##                 OPERADOR SIERRA  1  0
##                          PINTOR  1  0
##                          RECIBO  1  0
##                       RESIDENTE  4  0
##                        SOLDADOR  4  1
##            SUPERVISOR DE MAQUIN  1  0
##            SUPERVISOR DE PEGADO  1  0
##                     SUPERVISORA  2  0
## Técnicas para limpieza de datos

### Remover valores irrelevantes
### Remover valores duplicados
df1[duplicated(df1) ,]
##  [1] NO.DE.EMPLEADO        APELLIDOS             NOMBRE               
##  [4] FECHA.DE.NACIMIENTO   GENERO                RFC                  
##  [7] FECHA.DE.ALTA         PRIMER.MES            CUARTO.MES           
## [10] BAJA                  PUESTO                DEPARTAMENTO         
## [13] NO.SEGURO.SOCIAL      SALARIO.DIARIO.IMSS   FACTOR.CRED.INFONAVIT
## [16] N.CREDITO.INFONAVIT   LUGAR.DE.NACIMIENTO   CURP                 
## [19] CALLE                 NUMERO.INTERNO        COLONIA              
## [22] MUNICIPIO             ESTADO                CODIGO.POSTAL        
## [25] ESTADO.CIVIL          TARJETA_CUENTA       
## <0 rows> (or 0-length row.names)
sum(duplicated(df1))
## [1] 0
### Eliminar renglones duplicados
df2<- df1
df2<-distinct(df2)

### Errores tipográficos
df3 <- df2
df3$NO.DE.EMPLEADO <- abs(df3$NO.DE.EMPLEADO)
summary(df3)
##  NO.DE.EMPLEADO    APELLIDOS            NOMBRE          FECHA.DE.NACIMIENTO
##  Min.   :  0.00   Length:113         Length:113         Length:113         
##  1st Qu.:  8.00   Class :character   Class :character   Class :character   
##  Median : 38.00   Mode  :character   Mode  :character   Mode  :character   
##  Mean   : 46.31                                                            
##  3rd Qu.: 72.00                                                            
##  Max.   :148.00                                                            
##     GENERO              RFC            FECHA.DE.ALTA       PRIMER.MES       
##  Length:113         Length:113         Length:113         Length:113        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##   CUARTO.MES             BAJA           PUESTO          DEPARTAMENTO      
##  Length:113         Min.   :0.0000   Length:113         Length:113        
##  Class :character   1st Qu.:0.0000   Class :character   Class :character  
##  Mode  :character   Median :0.0000   Mode  :character   Mode  :character  
##                     Mean   :0.3451                                        
##                     3rd Qu.:0.0000                                        
##                     Max.   :3.0000                                        
##  NO.SEGURO.SOCIAL   SALARIO.DIARIO.IMSS FACTOR.CRED.INFONAVIT
##  Length:113         Min.   :1.440e+02   Length:113           
##  Class :character   1st Qu.:1.770e+02   Class :character     
##  Mode  :character   Median :1.810e+02   Mode  :character     
##                     Mean   :1.346e+07                        
##                     3rd Qu.:1.810e+02                        
##                     Max.   :1.517e+09                        
##  N.CREDITO.INFONAVIT LUGAR.DE.NACIMIENTO     CURP              CALLE          
##  Min.   :0.000e+00   Length:113          Length:113         Length:113        
##  1st Qu.:0.000e+00   Class :character    Class :character   Class :character  
##  Median :0.000e+00   Mode  :character    Mode  :character   Mode  :character  
##  Mean   :6.770e+07                                                            
##  3rd Qu.:0.000e+00                                                            
##  Max.   :1.922e+09                                                            
##  NUMERO.INTERNO       COLONIA           MUNICIPIO            ESTADO         
##  Length:113         Length:113         Length:113         Length:113        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##  CODIGO.POSTAL   ESTADO.CIVIL       TARJETA_CUENTA    
##  Min.   :25016   Length:113         Length:113        
##  1st Qu.:66640   Class :character   Class :character  
##  Median :66646   Mode  :character   Mode  :character  
##  Mean   :63365                                        
##  3rd Qu.:66649                                        
##  Max.   :67493
### ¿Cuántos NA's tengo en la base de datos?
sum(is.na(df3))
## [1] 0
### ¿Cuántos NA's tengo por variable?
sapply(df3, function(x) sum(is.na(x)))
##        NO.DE.EMPLEADO             APELLIDOS                NOMBRE 
##                     0                     0                     0 
##   FECHA.DE.NACIMIENTO                GENERO                   RFC 
##                     0                     0                     0 
##         FECHA.DE.ALTA            PRIMER.MES            CUARTO.MES 
##                     0                     0                     0 
##                  BAJA                PUESTO          DEPARTAMENTO 
##                     0                     0                     0 
##      NO.SEGURO.SOCIAL   SALARIO.DIARIO.IMSS FACTOR.CRED.INFONAVIT 
##                     0                     0                     0 
##   N.CREDITO.INFONAVIT   LUGAR.DE.NACIMIENTO                  CURP 
##                     0                     0                     0 
##                 CALLE        NUMERO.INTERNO               COLONIA 
##                     0                     0                     0 
##             MUNICIPIO                ESTADO         CODIGO.POSTAL 
##                     0                     0                     0 
##          ESTADO.CIVIL        TARJETA_CUENTA 
##                     0                     0
?sapply
## starting httpd help server ... done
### Borrar todos los registros NA's de una tabla
df4<-df3
df4<-na.omit(df4)
summary(df4)
##  NO.DE.EMPLEADO    APELLIDOS            NOMBRE          FECHA.DE.NACIMIENTO
##  Min.   :  0.00   Length:113         Length:113         Length:113         
##  1st Qu.:  8.00   Class :character   Class :character   Class :character   
##  Median : 38.00   Mode  :character   Mode  :character   Mode  :character   
##  Mean   : 46.31                                                            
##  3rd Qu.: 72.00                                                            
##  Max.   :148.00                                                            
##     GENERO              RFC            FECHA.DE.ALTA       PRIMER.MES       
##  Length:113         Length:113         Length:113         Length:113        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##   CUARTO.MES             BAJA           PUESTO          DEPARTAMENTO      
##  Length:113         Min.   :0.0000   Length:113         Length:113        
##  Class :character   1st Qu.:0.0000   Class :character   Class :character  
##  Mode  :character   Median :0.0000   Mode  :character   Mode  :character  
##                     Mean   :0.3451                                        
##                     3rd Qu.:0.0000                                        
##                     Max.   :3.0000                                        
##  NO.SEGURO.SOCIAL   SALARIO.DIARIO.IMSS FACTOR.CRED.INFONAVIT
##  Length:113         Min.   :1.440e+02   Length:113           
##  Class :character   1st Qu.:1.770e+02   Class :character     
##  Mode  :character   Median :1.810e+02   Mode  :character     
##                     Mean   :1.346e+07                        
##                     3rd Qu.:1.810e+02                        
##                     Max.   :1.517e+09                        
##  N.CREDITO.INFONAVIT LUGAR.DE.NACIMIENTO     CURP              CALLE          
##  Min.   :0.000e+00   Length:113          Length:113         Length:113        
##  1st Qu.:0.000e+00   Class :character    Class :character   Class :character  
##  Median :0.000e+00   Mode  :character    Mode  :character   Mode  :character  
##  Mean   :6.770e+07                                                            
##  3rd Qu.:0.000e+00                                                            
##  Max.   :1.922e+09                                                            
##  NUMERO.INTERNO       COLONIA           MUNICIPIO            ESTADO         
##  Length:113         Length:113         Length:113         Length:113        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##  CODIGO.POSTAL   ESTADO.CIVIL       TARJETA_CUENTA    
##  Min.   :25016   Length:113         Length:113        
##  1st Qu.:66640   Class :character   Class :character  
##  Median :66646   Mode  :character   Mode  :character  
##  Mean   :63365                                        
##  3rd Qu.:66649                                        
##  Max.   :67493
### Reemplazar NA's con CEROS
df5<-df4
df5[is.na(df5)]<-0
summary(df5)
##  NO.DE.EMPLEADO    APELLIDOS            NOMBRE          FECHA.DE.NACIMIENTO
##  Min.   :  0.00   Length:113         Length:113         Length:113         
##  1st Qu.:  8.00   Class :character   Class :character   Class :character   
##  Median : 38.00   Mode  :character   Mode  :character   Mode  :character   
##  Mean   : 46.31                                                            
##  3rd Qu.: 72.00                                                            
##  Max.   :148.00                                                            
##     GENERO              RFC            FECHA.DE.ALTA       PRIMER.MES       
##  Length:113         Length:113         Length:113         Length:113        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##   CUARTO.MES             BAJA           PUESTO          DEPARTAMENTO      
##  Length:113         Min.   :0.0000   Length:113         Length:113        
##  Class :character   1st Qu.:0.0000   Class :character   Class :character  
##  Mode  :character   Median :0.0000   Mode  :character   Mode  :character  
##                     Mean   :0.3451                                        
##                     3rd Qu.:0.0000                                        
##                     Max.   :3.0000                                        
##  NO.SEGURO.SOCIAL   SALARIO.DIARIO.IMSS FACTOR.CRED.INFONAVIT
##  Length:113         Min.   :1.440e+02   Length:113           
##  Class :character   1st Qu.:1.770e+02   Class :character     
##  Mode  :character   Median :1.810e+02   Mode  :character     
##                     Mean   :1.346e+07                        
##                     3rd Qu.:1.810e+02                        
##                     Max.   :1.517e+09                        
##  N.CREDITO.INFONAVIT LUGAR.DE.NACIMIENTO     CURP              CALLE          
##  Min.   :0.000e+00   Length:113          Length:113         Length:113        
##  1st Qu.:0.000e+00   Class :character    Class :character   Class :character  
##  Median :0.000e+00   Mode  :character    Mode  :character   Mode  :character  
##  Mean   :6.770e+07                                                            
##  3rd Qu.:0.000e+00                                                            
##  Max.   :1.922e+09                                                            
##  NUMERO.INTERNO       COLONIA           MUNICIPIO            ESTADO         
##  Length:113         Length:113         Length:113         Length:113        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##  CODIGO.POSTAL   ESTADO.CIVIL       TARJETA_CUENTA    
##  Min.   :25016   Length:113         Length:113        
##  1st Qu.:66640   Class :character   Class :character  
##  Median :66646   Mode  :character   Mode  :character  
##  Mean   :63365                                        
##  3rd Qu.:66649                                        
##  Max.   :67493
### Reemplazar NA's con el Promedio
df6<-df5
df6$BAJA[is.na(df6$BAJA)]<-mean(df6$BAJA, na.rm= TRUE)

summary(df6)
##  NO.DE.EMPLEADO    APELLIDOS            NOMBRE          FECHA.DE.NACIMIENTO
##  Min.   :  0.00   Length:113         Length:113         Length:113         
##  1st Qu.:  8.00   Class :character   Class :character   Class :character   
##  Median : 38.00   Mode  :character   Mode  :character   Mode  :character   
##  Mean   : 46.31                                                            
##  3rd Qu.: 72.00                                                            
##  Max.   :148.00                                                            
##     GENERO              RFC            FECHA.DE.ALTA       PRIMER.MES       
##  Length:113         Length:113         Length:113         Length:113        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##   CUARTO.MES             BAJA           PUESTO          DEPARTAMENTO      
##  Length:113         Min.   :0.0000   Length:113         Length:113        
##  Class :character   1st Qu.:0.0000   Class :character   Class :character  
##  Mode  :character   Median :0.0000   Mode  :character   Mode  :character  
##                     Mean   :0.3451                                        
##                     3rd Qu.:0.0000                                        
##                     Max.   :3.0000                                        
##  NO.SEGURO.SOCIAL   SALARIO.DIARIO.IMSS FACTOR.CRED.INFONAVIT
##  Length:113         Min.   :1.440e+02   Length:113           
##  Class :character   1st Qu.:1.770e+02   Class :character     
##  Mode  :character   Median :1.810e+02   Mode  :character     
##                     Mean   :1.346e+07                        
##                     3rd Qu.:1.810e+02                        
##                     Max.   :1.517e+09                        
##  N.CREDITO.INFONAVIT LUGAR.DE.NACIMIENTO     CURP              CALLE          
##  Min.   :0.000e+00   Length:113          Length:113         Length:113        
##  1st Qu.:0.000e+00   Class :character    Class :character   Class :character  
##  Median :0.000e+00   Mode  :character    Mode  :character   Mode  :character  
##  Mean   :6.770e+07                                                            
##  3rd Qu.:0.000e+00                                                            
##  Max.   :1.922e+09                                                            
##  NUMERO.INTERNO       COLONIA           MUNICIPIO            ESTADO         
##  Length:113         Length:113         Length:113         Length:113        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##  CODIGO.POSTAL   ESTADO.CIVIL       TARJETA_CUENTA    
##  Min.   :25016   Length:113         Length:113        
##  1st Qu.:66640   Class :character   Class :character  
##  Median :66646   Mode  :character   Mode  :character  
##  Mean   :63365                                        
##  3rd Qu.:66649                                        
##  Max.   :67493
### Reemplazar negativos con ceros
df7<-df6
df7[df7<-0]
## data frame with 0 columns and 113 rows
summary(df7)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##       0       0       0       0       0       0

5. Incluye una breve reflexión de la actividad.

### De acuerdo al análisis descriptivo, vemos que se tiene un alto nivel de ausentimo
### por parte de los ayudantes generales. Esto puede interpretarse que es debido a sus
### largas jornadas de trabajo o actividades variadas por realizar. En cuanto a los Departamentos
### con más bajas, tenemos que Stabilus, Celdas y Pailería muestran los niveles más altos,
### mientras que el resto de los Departamentos y Puestos laborales muestran información deficiente.

Entregable R3 (EVIDENCIA 2.2): Análisis estadístico descriptivo de datos para la toma de decisiones

6. Análisis descriptivo (cómo mejorar la operación)

describe(df2)
## # A tibble: 5 × 26
##   described_v…¹     n    na    mean      sd se_mean   IQR skewn…² kurto…³    p00
##   <chr>         <int> <int>   <dbl>   <dbl>   <dbl> <dbl>   <dbl>   <dbl>  <dbl>
## 1 NO.DE.EMPLEA…   113     0 4.63e+1 4.24e+1 3.99e+0 64      0.741  -0.465     0 
## 2 BAJA            113     0 3.45e-1 9.61e-1 9.04e-2  0      2.45    4.05      0 
## 3 SALARIO.DIAR…   113     0 1.35e+7 1.43e+8 1.34e+7  3.96  10.6   113.      144.
## 4 N.CREDITO.IN…   113     0 6.77e+7 3.55e+8 3.34e+7  0      5.10   24.4       0 
## 5 CODIGO.POSTAL   113     0 6.34e+4 1.12e+4 1.05e+3  9     -3.14    8.01  25016 
## # … 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>, and
## #   abbreviated variable names ¹​described_variables, ²​skewness, ³​kurtosis
## Método estadístico

#count(df2, GENERO, sort = TRUE)
#count(df2, FECHA.DE.ALTA, sort = TRUE)
#count(df2, PRIMER.MES, sort = TRUE)
#count(df2, CUARTO.MES, sort = TRUE)
#count(df2, BAJA, sort = TRUE)
#count(df2, PUESTO, sort = TRUE)
#count(df2, DEPARTAMENTO, sort = TRUE)
#count(df2, FACTOR.CRED.INFONAVIT, sort = TRUE)
#count(df2, N.CREDITO.INFONAVIT, sort = TRUE)
#count(df2, MUNICIPIO, sort = TRUE)
#count(df2, ESTADO, sort = TRUE)
#count(df2, ESTADO.CIVIL, sort = TRUE)
#count(df2, TARJETA_CUENTA, sort = TRUE)

tibble(df2)
## # A tibble: 113 × 26
##    NO.DE.EMP…¹ APELL…² NOMBRE FECHA…³ GENERO RFC   FECHA…⁴ PRIME…⁵ CUART…⁶  BAJA
##          <int> <chr>   <chr>  <chr>   <chr>  <chr> <chr>   <chr>   <chr>   <int>
##  1           1 MARTIN… NICOL… 10/09/… MASCU… MALN… 01/07/… 31/07/… 29/10/…     0
##  2           2 DE LEO… MARIA0 14/05/… FEMEN… LEMM… 01/07/… 31/07/… 29/10/…     0
##  3           3 HER0ND… JOSE … 21/11/… MASCU… HECL… 22/11/… 00/01/… 00/01/…     0
##  4           4 CAZARE… MARIA  01/05/… FEMEN… CAMM… 30/01/… 01/03/… 30/05/…     0
##  5           5 LOPEZ … YOLAN… 06/09/… FEMEN… LORY… 05/05/… 04/06/… 02/09/…     0
##  6           6 HER0ND… HERME… 22/06/… MASCU… HEMH… 03/07/… 02/08/… 31/10/…     0
##  7           7 PERALT… ARACE… 01/07/… FEMEN… PEMA… 06/08/… 05/09/… 04/12/…     0
##  8           8 TOVAR … PEDRO… 10/12/… MASCU… TOPP… 23/08/… 22/09/… 21/12/…     0
##  9           9 MORENO… HUMBE… 03/11/… MASCU… MOSH… 11/01/… 10/02/… 11/05/…     0
## 10          10 LU0 LO… YOLAN… 18/08/… FEMEN… LULY… 20/02/… 22/03/… 20/06/…     0
## # … with 103 more rows, 16 more variables: PUESTO <chr>, DEPARTAMENTO <chr>,
## #   NO.SEGURO.SOCIAL <chr>, SALARIO.DIARIO.IMSS <dbl>,
## #   FACTOR.CRED.INFONAVIT <chr>, N.CREDITO.INFONAVIT <int>,
## #   LUGAR.DE.NACIMIENTO <chr>, CURP <chr>, CALLE <chr>, NUMERO.INTERNO <chr>,
## #   COLONIA <chr>, MUNICIPIO <chr>, ESTADO <chr>, CODIGO.POSTAL <int>,
## #   ESTADO.CIVIL <chr>, TARJETA_CUENTA <chr>, and abbreviated variable names
## #   ¹​NO.DE.EMPLEADO, ²​APELLIDOS, ³​FECHA.DE.NACIMIENTO, ⁴​FECHA.DE.ALTA, …

6.1 Tabla de frecuencia (1)

### Total de empleados por género y Estado en el cual viven

### Dataframe

df23 <- data.frame(df1$SALARIO.DIARIO.IMSS)
df23
##     df1.SALARIO.DIARIO.IMSS
## 1              1.767200e+02
## 2              1.767200e+02
## 3              1.767200e+02
## 4              3.370500e+02
## 5              4.413757e+06
## 6              1.767200e+02
## 7              2.600100e+02
## 8              2.407500e+02
## 9              1.767200e+02
## 10             1.528600e+02
## 11             1.757900e+02
## 12             1.767200e+02
## 13             1.767200e+02
## 14             1.444500e+02
## 15             2.796100e+02
## 16             1.444500e+02
## 17             1.767200e+02
## 18             1.767200e+02
## 19             1.444500e+02
## 20             1.767200e+02
## 21             1.767200e+02
## 22             1.516700e+02
## 23             2.086500e+02
## 24             1.516700e+02
## 25             2.407100e+02
## 26             1.516729e+09
## 27             1.516700e+02
## 28             1.767200e+02
## 29             1.767200e+02
## 30             1.516700e+02
## 31             1.767200e+02
## 32             1.767200e+02
## 33             1.767200e+02
## 34             1.767200e+02
## 35             1.516100e+02
## 36             1.516100e+02
## 37             1.767200e+02
## 38             1.516100e+02
## 39             1.516100e+02
## 40             1.516100e+02
## 41             1.767200e+02
## 42             1.767200e+02
## 43             1.767200e+02
## 44             1.516100e+02
## 45             1.516100e+02
## 46             1.516100e+02
## 47             1.516100e+02
## 48             1.516100e+02
## 49             1.767200e+02
## 50             1.516100e+02
## 51             1.767200e+02
## 52             1.806800e+02
## 53             1.806800e+02
## 54             1.806800e+02
## 55             1.806800e+02
## 56             1.806800e+02
## 57             1.806800e+02
## 58             1.806800e+02
## 59             1.806800e+02
## 60             1.806800e+02
## 61             1.806800e+02
## 62             1.806800e+02
## 63             1.806800e+02
## 64             1.806800e+02
## 65             1.806800e+02
## 66             1.806800e+02
## 67             1.806800e+02
## 68             1.806800e+02
## 69             1.806800e+02
## 70             1.806800e+02
## 71             1.816800e+02
## 72             1.846800e+02
## 73             1.856800e+02
## 74             1.806800e+02
## 75             1.806800e+02
## 76             1.806800e+02
## 77             1.806800e+02
## 78             1.806800e+02
## 79             1.806800e+02
## 80             1.806800e+02
## 81             1.806800e+02
## 82             1.806800e+02
## 83             1.806800e+02
## 84             1.806800e+02
## 85             1.806800e+02
## 86             1.806800e+02
## 87             1.806800e+02
## 88             1.806800e+02
## 89             1.806800e+02
## 90             1.806800e+02
## 91             1.806800e+02
## 92             1.806800e+02
## 93             1.806800e+02
## 94             1.806800e+02
## 95             1.806800e+02
## 96             1.806800e+02
## 97             1.806800e+02
## 98             1.806800e+02
## 99             1.806800e+02
## 100            1.806800e+02
## 101            1.806800e+02
## 102            1.806800e+02
## 103            1.806800e+02
## 104            1.806800e+02
## 105            1.806800e+02
## 106            1.806800e+02
## 107            1.806800e+02
## 108            1.806800e+02
## 109            1.806800e+02
## 110            1.806800e+02
## 111            1.806800e+02
## 112            1.806800e+02
## 113            1.806800e+02
prop.table(df23, margin=NULL)
##     df1.SALARIO.DIARIO.IMSS
## 1              1.161743e-07
## 2              1.161743e-07
## 3              1.161743e-07
## 4              2.215740e-07
## 5              2.901569e-03
## 6              1.161743e-07
## 7              1.709285e-07
## 8              1.582671e-07
## 9              1.161743e-07
## 10             1.004890e-07
## 11             1.155630e-07
## 12             1.161743e-07
## 13             1.161743e-07
## 14             9.496029e-08
## 15             1.838134e-07
## 16             9.496029e-08
## 17             1.161743e-07
## 18             1.161743e-07
## 19             9.496029e-08
## 20             1.161743e-07
## 21             1.161743e-07
## 22             9.970666e-08
## 23             1.371649e-07
## 24             9.970666e-08
## 25             1.582408e-07
## 26             9.970854e-01
## 27             9.970666e-08
## 28             1.161743e-07
## 29             1.161743e-07
## 30             9.970666e-08
## 31             1.161743e-07
## 32             1.161743e-07
## 33             1.161743e-07
## 34             1.161743e-07
## 35             9.966721e-08
## 36             9.966721e-08
## 37             1.161743e-07
## 38             9.966721e-08
## 39             9.966721e-08
## 40             9.966721e-08
## 41             1.161743e-07
## 42             1.161743e-07
## 43             1.161743e-07
## 44             9.966721e-08
## 45             9.966721e-08
## 46             9.966721e-08
## 47             9.966721e-08
## 48             9.966721e-08
## 49             1.161743e-07
## 50             9.966721e-08
## 51             1.161743e-07
## 52             1.187776e-07
## 53             1.187776e-07
## 54             1.187776e-07
## 55             1.187776e-07
## 56             1.187776e-07
## 57             1.187776e-07
## 58             1.187776e-07
## 59             1.187776e-07
## 60             1.187776e-07
## 61             1.187776e-07
## 62             1.187776e-07
## 63             1.187776e-07
## 64             1.187776e-07
## 65             1.187776e-07
## 66             1.187776e-07
## 67             1.187776e-07
## 68             1.187776e-07
## 69             1.187776e-07
## 70             1.187776e-07
## 71             1.194350e-07
## 72             1.214072e-07
## 73             1.220646e-07
## 74             1.187776e-07
## 75             1.187776e-07
## 76             1.187776e-07
## 77             1.187776e-07
## 78             1.187776e-07
## 79             1.187776e-07
## 80             1.187776e-07
## 81             1.187776e-07
## 82             1.187776e-07
## 83             1.187776e-07
## 84             1.187776e-07
## 85             1.187776e-07
## 86             1.187776e-07
## 87             1.187776e-07
## 88             1.187776e-07
## 89             1.187776e-07
## 90             1.187776e-07
## 91             1.187776e-07
## 92             1.187776e-07
## 93             1.187776e-07
## 94             1.187776e-07
## 95             1.187776e-07
## 96             1.187776e-07
## 97             1.187776e-07
## 98             1.187776e-07
## 99             1.187776e-07
## 100            1.187776e-07
## 101            1.187776e-07
## 102            1.187776e-07
## 103            1.187776e-07
## 104            1.187776e-07
## 105            1.187776e-07
## 106            1.187776e-07
## 107            1.187776e-07
## 108            1.187776e-07
## 109            1.187776e-07
## 110            1.187776e-07
## 111            1.187776e-07
## 112            1.187776e-07
## 113            1.187776e-07

6.2 Gráficos de datos cualitativos y cuantitativos (2-3)

### Gráfico "Frecuencia de bajas por empleado"   
hist(df3$N.CREDITO.INFONAVIT,main="Número de créditos INFONAVIT otorgados",xlab="Valor de créditos INFONAVIT de empleados",col='steelblue')

### Gráfico "Frecuencia de bajas por empleado"   
hist(df3$BAJA,main="Frecuencia de bajas por empleado acorde a promedios",xlab="Frecuencia de bajas por empleado",col='steelblue')

### Estado en el que viven empleados VS. Género más recurrente

6.3 Gráficos de dispersión (2)

df7<-df6

### Gráfica de dispersión: Código postal
plot(df7$CODIGO.POSTAL, horizontal= TRUE)
## Warning in plot.window(...): "horizontal" is not a graphical parameter
## Warning in plot.xy(xy, type, ...): "horizontal" is not a graphical parameter
## Warning in axis(side = side, at = at, labels = labels, ...): "horizontal" is not
## a graphical parameter

## Warning in axis(side = side, at = at, labels = labels, ...): "horizontal" is not
## a graphical parameter
## Warning in box(...): "horizontal" is not a graphical parameter
## Warning in title(...): "horizontal" is not a graphical parameter

### Gráfica de dispersión: Número de empleado
plot(df7$NO.DE.EMPLEADO, horizontal= TRUE)
## Warning in plot.window(...): "horizontal" is not a graphical parameter
## Warning in plot.xy(xy, type, ...): "horizontal" is not a graphical parameter
## Warning in axis(side = side, at = at, labels = labels, ...): "horizontal" is not
## a graphical parameter

## Warning in axis(side = side, at = at, labels = labels, ...): "horizontal" is not
## a graphical parameter
## Warning in box(...): "horizontal" is not a graphical parameter
## Warning in title(...): "horizontal" is not a graphical parameter

7. Propuestas de mejora de acuerdo a análisis

Propuesta 1. Vemos que se tiene un mayor porcentaje de empleadas femeninas, representando un 70% de los empleados totales. Adicional, muchos de los empleados viven en principalmente tres estados: Nuevo León y Coahuila, del cual destaca principalmente Nuevo León. Se recomienda que haya mayor apertura en cuanto a los roles que pueden asumir en los distintos puestos de trabajo o en su caso, que haya puestos de trabajo específicamente dirigidos para mujeres.

Propuesta 2. Respecto a los puestos laborales, existen 60 personas desempeñándose como “ayudantes generales”. Es importante analizar la importancia que tiene dicho puesto y cuáles son las posibilidades de crecimiento dentro de este. Se debe considerar la forma de implementar una evaluación de habilidades para los empleados que les permita crecer de manera orgánica dentro de la empresa y de esta forma, aumentar el porcentaje de retención de personal.

8. Conclusiones

Este análisis nos permite comprender la importancia de la limpieza de datos, análisis e interpretación de datos. De acuerdo a la información, se puede ver que FORM aún cuenta con áreas de oportunidad por trabajar para tener un mejor aprovechamiento de sus recursos. Es importante destacar que alguno de esas mejoras empieza por la transformación digital, la cual podrá ser implementada a través de un mejor seguimiento de sus bases de datos internas, teniéndola actualizada y limpia. De esta forma se podrá tener una mejor toma de decisiones a futuro y de manera continua, una mejor predicción de diagnósticos.

LS0tDQp0aXRsZTogJ0VudHJlZ2FibGUgMi4xIHkgMi4yIC0gQmFzZSBkZSBEYXRvczogUmVjdXJzb3MgSHVtYW5vcycNCmF1dGhvcjogIkVxdWlwbyAyIg0KZGF0ZTogIjIwMjItMDktMjMiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiB0cnVlDQogICAgdG9jX2Zsb2F0OiB0cnVlDQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KLS0tDQoNCiMjIEppbWVuYSBNaWd1ZWwgfCBWYW5lc3NhIEVsaXpvbmRvIHwgUmljYXJkbyBHYWxpY2lhIHwgSm9zw6kgTHVpcyBFbGl6b25kbyB8IERhbmllbGEgQ8OhcmRlbmFzDQojIyBBbsOhbGlzaXMgZGUgYmFzZSBkZSBkYXRvcyBGT1JNOiBSZWN1cnNvcyBIdW1hbm9zDQoNCiMgRW50cmVnYWJsZSBSMiAoRVZJREVOQ0lBIDIuMSk6IENvbm9jaW1pZW50byB5IHByZXBhcmFjacOzbiBkZSBsYXMgYmFzZXMgZGUgZGF0b3MgcGFyYSBlbCBhbsOhbGlzaXMgZGUgbGFzIHZhcmlhYmxlcyByZWxldmFudGVzDQoNCiMjIERlc2NhcmdhciBsaWJyZXLDrWFzDQpgYGB7cn0NCmxpYnJhcnkoZm9yZWlnbikNCmxpYnJhcnkoZHBseXIpDQpsaWJyYXJ5KGZvcmNhdHMpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KHJlYWRyKQ0KbGlicmFyeShqYW5pdG9yKQ0KbGlicmFyeShIbWlzYykNCmxpYnJhcnkocHN5Y2gpDQpsaWJyYXJ5KG5hbmlhcikNCmxpYnJhcnkoZGxvb2tyKQ0KbGlicmFyeShjb3JycGxvdCkNCmxpYnJhcnkoanRvb2xzKQ0KbGlicmFyeShsbXRlc3QpDQpsaWJyYXJ5KGNhcikNCmxpYnJhcnkob2xzcnIpDQpsaWJyYXJ5KGthYmxlRXh0cmEpDQpsaWJyYXJ5KGdtb2RlbHMpDQpsaWJyYXJ5KG9wZW54bHN4KQ0KYGBgDQoNCiMjIEluc3RhbGFyIHBhcXVldGVzDQpgYGB7cn0NCiNpbnN0YWxsLnBhY2thZ2VzKCJnbW9kZWxzIikNCiNpbnN0YWxsLnBhY2thZ2VzKCJvcGVueGxzeCIpDQpgYGANCg0KIyMgMS4gwr9DdcOhbnRhcyB2YXJpYWJsZXMgeSBjdcOhbnRvcyByZWdpc3Ryb3MgdGllbmUgbGEgYmFzZSBkZSBkYXRvcz8NCmBgYHtyfQ0KIyMjIEltcG9ydGFyIGJhc2UgZGUgZGF0b3MNCmRmMSA8LXJlYWQuY3N2KGZpbGUuY2hvb3NlKCkpDQpzdW1tYXJ5KGRmMSkNCmRlc2NyaWJlKGRmMSkNCg0KIyMgUi4gVXNhbmRvIGxhIGZ1bmNpw7NuICJkZXNjcmliZSIgc2UgcHVlZGUgcmVhbGl6YXIgdW5hIGVzdGFkw61zdGljYSBkZXNjcmlwdGl2YSBtw6FzIHB0b2Z1bmRhLiBQYXJhIGVzdGUgYXJndW1lbnRvLCB2ZW1vcyBxdWUgc2UgdGllbmVuIDExMyByZWdpc3Ryb3MgeSAyNiB2YXJpYWJsZXMuDQpgYGANCg0KIyMgMi4gQ2xhc2lmaWNhIGNhZGEgdmFyaWFibGUgZW4gY3VhbGl0YXRpdmEsIGN1YW50aXRhdGl2YSBkaXNjcmV0YSBvIGN1YW50aXRhdGl2YSBjb250aW51YS4NCmBgYHtyfQ0KIyMgVGlwb3MgZGUgdmFyaWFibGVzDQoNCiMjIyBOTyBERSBFTVBMRUFETzogQ3VhbnRpdGF0aXZhIGRpc2NyZXRhLg0KIyMjIEFQRUxMSURPUzogQ3VhbGl0YXRpdmEuDQojIyMgTk9NQlJFOiBDdWFsaXRhdGl2YS4NCiMjIyBGRUNIQSBERSBOQUNJTUlFTlRPOiBDdWFudGl0YXRpdmEgZGlzY3JldGEuDQojIyMgR0VORVJPOiBDdWFsaXRhdGl2YS4NCiMjIyBSRkM6IEN1YWxpdGF0aXZhLg0KIyMjIEZFQ0hBIERFIEFMVEE6IEN1YW50aXRhdGl2YSBkaXNjcmV0YS4NCiMjIyBQUklNRVIgTUVTOiBDdWFudGl0YXRpdmEgZGlzY3JldGEuDQojIyMgQ1VBUlRPIE1FUzogQ3VhbnRpdGF0aXZhIGRpc2NyZXRhLg0KIyMjIEJBSkE6IEN1YW50aXRhdGl2YSBkaXNjcmV0YS4NCiMjIyBQVUVTVE86IEN1YWxpdGF0aXZhLg0KIyMjIERFUEFSVEFNRU5UTzogQ3VhbGl0YXRpdmEuDQojIyMgTk8gU0VHVVJPIFNPQ0lBTDogQ3VhbnRpdGF0aXZhIGRpc2NyZXRhLi4NCiMjIyBTQUxBUklPIERJQVJJTyBJTVNTOiBDdWFudGl0YXRpdmEgY29udGludWEuDQojIyMgRkFDVE9SIENSRUQgSU5GT05BVklUOiBDdWFudGl0YXRpdmEgY29udGludWEuDQojIyMgTiBDUkVESVRPIElORk9OQVZJVDogQ3VhbnRpdGF0aXZhIGNvbnRpbnVhLg0KIyMjIExVR0FSIERFIE5BQ0lNSUVOVE86IEN1YWxpdGF0aXZhLg0KIyMjIENVUlA6IEN1YWxpdGF0aXZhLg0KIyMjIENBTExFOiBDdWFsaXRhdGl2YS4NCiMjIyBOVU1FUk8gSU5URVJOTzogQ3VhbnRpdGF0aXZhIGRpc2NyZXRhLg0KIyMjIENPTE9OSUE6IEN1YW50aXRhdGl2YSBkaXNjcmV0YS4NCiMjIyBNVU5JQ0lQSU86IEN1YWxpdGF0aXZhLg0KIyMjIEVTVEFETzogQ3VhbGl0YXRpdmEuDQojIyMgQ09ESUdPIFBPU1RBTDogQ3VhbnRpdGF0aXZhIGRpc2NyZXRhLg0KIyMjIEVTVEFETyBDSVZJTDogQ3VhbGl0YXRpdmEuDQojIyMgVEFSSkVUQV9DVUVOVEE6IEN1YWxpdGF0aXZhLg0KYGBgDQoNCiMjIDMuIEVsaWdlIGxhIGVzY2FsYSBkZSBtZWRpY2nDs24gZGUgY2FkYSB2YXJpYWJsZS4NCmBgYHtyfQ0KT3JkaW5hbCA8LSBjKCJOTy5ERS5FTVBMRUFETyIsIkFQRUxMSURPUyIsIk5PTUJSRSIsIkdFTkVSTyIsIlJGQyIsIlBVRVNUTyIpDQpOb21pbmFsIDwtIGMoIkZFQ0hBLkRFLk5BQ0lNSUVOVE8iLCJGRUNIQS5ERS5BTFRBIiwiRkVDSEEuREUuQkFKQSIsIlBSSU1FUi5NRVMiLCJDVUFSVE8uTUVTIiwiREVQQVJUQU1FTlRPIiwiTk8uU0VHVVJPLlNPQ0lBTCIsIkxVR0FSLkRFLk5BQ0lNSUVOVE8iLCJDVVJQIiwiQ0FMTEUiLCJOVU1FUk8uSU5URVJOTyIsIkNPTE9OSUEiLCJNVU5JQ0lQSU8iLCJDT0RJR08uUE9TVEFMIiwiRVNUQURPIiwiRVNUQURPLkNJVklMIikNCkludGVydmFsbyA8LSBjKCJTQUxBUklPLkRJQVJJTy5JTVNTIiwiRkFDVE9SLkNSRUQuSU5GT05BVklUIiwiTi5DUkVESVRPLklORk9OQVZJVCIpDQpSYXpvbiA8LSBjKCJCQUpBIiwiVEFSSkVUQV9DVUVOVEEiKQ0KDQpsczE8LSBsaXN0KE9yZGluYWwsTm9taW5hbCxJbnRlcnZhbG8sUmF6b24pDQpsczENCmBgYA0KDQojIyA0LiBBcGxpY2EgYWwgbWVub3MgMiB0w6ljbmljYXMgZGUgbGltcGllemEgZGUgYmFzZXMgZGUgZGF0b3MgeSBleHBsw61jYWxhcyBicmV2ZW1lbnRlLiDCv1BvciBxdcOpIHJlYWxpemFzdGUgZXNhcyB0w6ljbmljYXM/DQpgYGB7cn0NCiMjIFIuIFJlbW92ZXIgZGF0b3MgaXJyZWxldmFudGVzIHkgY29udmVydGlyIHRpcG9zIGRlIGRhdG9zLiBTZSB1dGlsaXrDsyBjYWRhIHVuYSBkZSBlc3RhcyB0w6ljbmljYXMsIHlhIHF1ZSBsYSBiYXNlIGRlIGRhdG9zIHRlbsOtYSBpbmZvcm1hY2nDs24gaW5leGFjdGEgeSByZXBldGlkYSBlbiBhbGd1bmFzIGNvbHVtbmFzLiBDb24gZXN0YSBsaW1waWV6YSwgc2Ugb2J0dXZpZXJvbiBkYXRvcyBwcmVjaXNvcyB5IHVuaWZvcm1lcy4NCg0KIyMjIE1vc3RyYXIgZXN0YWTDrXN0aWNhcyBkZXNjcmlwdGl2YXMgZGUgbGEgYmFzZSBkZSBkYXRvcw0Kc3VtbWFyeShkZjEpDQp0aWJibGUoZGYxKQ0Kc3RyKGRmMSkNCg0KaGVhZChkZjEpDQpoZWFkKGRmMSwgbj01KQ0KDQp0YWlsKGRmMSkNCg0KdGFieWwoZGYxLCBHRU5FUk8sIEVTVEFETykNCnRhYnlsKGRmMSwgREVQQVJUQU1FTlRPLCBCQUpBKQ0KdGFieWwoZGYxLCBQVUVTVE8sIEJBSkEpDQoNCiMjIFTDqWNuaWNhcyBwYXJhIGxpbXBpZXphIGRlIGRhdG9zDQoNCiMjIyBSZW1vdmVyIHZhbG9yZXMgaXJyZWxldmFudGVzDQojIyMgUmVtb3ZlciB2YWxvcmVzIGR1cGxpY2Fkb3MNCmRmMVtkdXBsaWNhdGVkKGRmMSkgLF0NCg0Kc3VtKGR1cGxpY2F0ZWQoZGYxKSkNCg0KIyMjIEVsaW1pbmFyIHJlbmdsb25lcyBkdXBsaWNhZG9zDQpkZjI8LSBkZjENCmRmMjwtZGlzdGluY3QoZGYyKQ0KDQojIyMgRXJyb3JlcyB0aXBvZ3LDoWZpY29zDQpkZjMgPC0gZGYyDQpkZjMkTk8uREUuRU1QTEVBRE8gPC0gYWJzKGRmMyROTy5ERS5FTVBMRUFETykNCnN1bW1hcnkoZGYzKQ0KDQojIyMgwr9DdcOhbnRvcyBOQSdzIHRlbmdvIGVuIGxhIGJhc2UgZGUgZGF0b3M/DQpzdW0oaXMubmEoZGYzKSkNCg0KIyMjIMK/Q3XDoW50b3MgTkEncyB0ZW5nbyBwb3IgdmFyaWFibGU/DQpzYXBwbHkoZGYzLCBmdW5jdGlvbih4KSBzdW0oaXMubmEoeCkpKQ0KDQo/c2FwcGx5DQoNCiMjIyBCb3JyYXIgdG9kb3MgbG9zIHJlZ2lzdHJvcyBOQSdzIGRlIHVuYSB0YWJsYQ0KZGY0PC1kZjMNCmRmNDwtbmEub21pdChkZjQpDQpzdW1tYXJ5KGRmNCkNCg0KIyMjIFJlZW1wbGF6YXIgTkEncyBjb24gQ0VST1MNCmRmNTwtZGY0DQpkZjVbaXMubmEoZGY1KV08LTANCnN1bW1hcnkoZGY1KQ0KDQojIyMgUmVlbXBsYXphciBOQSdzIGNvbiBlbCBQcm9tZWRpbw0KZGY2PC1kZjUNCmRmNiRCQUpBW2lzLm5hKGRmNiRCQUpBKV08LW1lYW4oZGY2JEJBSkEsIG5hLnJtPSBUUlVFKQ0KDQpzdW1tYXJ5KGRmNikNCg0KIyMjIFJlZW1wbGF6YXIgbmVnYXRpdm9zIGNvbiBjZXJvcw0KZGY3PC1kZjYNCmRmN1tkZjc8LTBdDQoNCnN1bW1hcnkoZGY3KQ0KYGBgDQoNCiMjIyA1LiBJbmNsdXllIHVuYSBicmV2ZSByZWZsZXhpw7NuIGRlIGxhIGFjdGl2aWRhZC4NCmBgYHtyfQ0KIyMjIERlIGFjdWVyZG8gYWwgYW7DoWxpc2lzIGRlc2NyaXB0aXZvLCB2ZW1vcyBxdWUgc2UgdGllbmUgdW4gYWx0byBuaXZlbCBkZSBhdXNlbnRpbW8NCiMjIyBwb3IgcGFydGUgZGUgbG9zIGF5dWRhbnRlcyBnZW5lcmFsZXMuIEVzdG8gcHVlZGUgaW50ZXJwcmV0YXJzZSBxdWUgZXMgZGViaWRvIGEgc3VzDQojIyMgbGFyZ2FzIGpvcm5hZGFzIGRlIHRyYWJham8gbyBhY3RpdmlkYWRlcyB2YXJpYWRhcyBwb3IgcmVhbGl6YXIuIEVuIGN1YW50byBhIGxvcyBEZXBhcnRhbWVudG9zDQojIyMgY29uIG3DoXMgYmFqYXMsIHRlbmVtb3MgcXVlIFN0YWJpbHVzLCBDZWxkYXMgeSBQYWlsZXLDrWEgbXVlc3RyYW4gbG9zIG5pdmVsZXMgbcOhcyBhbHRvcywNCiMjIyBtaWVudHJhcyBxdWUgZWwgcmVzdG8gZGUgbG9zIERlcGFydGFtZW50b3MgeSBQdWVzdG9zIGxhYm9yYWxlcyBtdWVzdHJhbiBpbmZvcm1hY2nDs24gZGVmaWNpZW50ZS4NCmBgYA0KDQoNCiMjIEVudHJlZ2FibGUgUjMgKEVWSURFTkNJQSAyLjIpOiBBbsOhbGlzaXMgZXN0YWTDrXN0aWNvIGRlc2NyaXB0aXZvIGRlIGRhdG9zIHBhcmEgbGEgdG9tYSBkZSBkZWNpc2lvbmVzDQoNCiMjIyA2LiBBbsOhbGlzaXMgZGVzY3JpcHRpdm8gKGPDs21vIG1lam9yYXIgbGEgb3BlcmFjacOzbikNCmBgYHtyfQ0KZGVzY3JpYmUoZGYyKQ0KDQojIyBNw6l0b2RvIGVzdGFkw61zdGljbw0KDQojY291bnQoZGYyLCBHRU5FUk8sIHNvcnQgPSBUUlVFKQ0KI2NvdW50KGRmMiwgRkVDSEEuREUuQUxUQSwgc29ydCA9IFRSVUUpDQojY291bnQoZGYyLCBQUklNRVIuTUVTLCBzb3J0ID0gVFJVRSkNCiNjb3VudChkZjIsIENVQVJUTy5NRVMsIHNvcnQgPSBUUlVFKQ0KI2NvdW50KGRmMiwgQkFKQSwgc29ydCA9IFRSVUUpDQojY291bnQoZGYyLCBQVUVTVE8sIHNvcnQgPSBUUlVFKQ0KI2NvdW50KGRmMiwgREVQQVJUQU1FTlRPLCBzb3J0ID0gVFJVRSkNCiNjb3VudChkZjIsIEZBQ1RPUi5DUkVELklORk9OQVZJVCwgc29ydCA9IFRSVUUpDQojY291bnQoZGYyLCBOLkNSRURJVE8uSU5GT05BVklULCBzb3J0ID0gVFJVRSkNCiNjb3VudChkZjIsIE1VTklDSVBJTywgc29ydCA9IFRSVUUpDQojY291bnQoZGYyLCBFU1RBRE8sIHNvcnQgPSBUUlVFKQ0KI2NvdW50KGRmMiwgRVNUQURPLkNJVklMLCBzb3J0ID0gVFJVRSkNCiNjb3VudChkZjIsIFRBUkpFVEFfQ1VFTlRBLCBzb3J0ID0gVFJVRSkNCg0KdGliYmxlKGRmMikNCmBgYA0KDQojIyMgNi4xIFRhYmxhIGRlIGZyZWN1ZW5jaWEgKDEpDQpgYGB7cn0NCiMjIyBUb3RhbCBkZSBlbXBsZWFkb3MgcG9yIGfDqW5lcm8geSBFc3RhZG8gZW4gZWwgY3VhbCB2aXZlbg0KDQojIyMgRGF0YWZyYW1lDQoNCmRmMjMgPC0gZGF0YS5mcmFtZShkZjEkU0FMQVJJTy5ESUFSSU8uSU1TUykNCmRmMjMNCg0KcHJvcC50YWJsZShkZjIzLCBtYXJnaW49TlVMTCkNCmBgYA0KDQojIyMgNi4yIEdyw6FmaWNvcyBkZSBkYXRvcyBjdWFsaXRhdGl2b3MgeSBjdWFudGl0YXRpdm9zICgyLTMpDQpgYGB7cn0NCiMjIyBHcsOhZmljbyAiRnJlY3VlbmNpYSBkZSBiYWphcyBwb3IgZW1wbGVhZG8iICAgDQpoaXN0KGRmMyROLkNSRURJVE8uSU5GT05BVklULG1haW49Ik7Dum1lcm8gZGUgY3LDqWRpdG9zIElORk9OQVZJVCBvdG9yZ2Fkb3MiLHhsYWI9IlZhbG9yIGRlIGNyw6lkaXRvcyBJTkZPTkFWSVQgZGUgZW1wbGVhZG9zIixjb2w9J3N0ZWVsYmx1ZScpDQoNCiMjIyBHcsOhZmljbyAiRnJlY3VlbmNpYSBkZSBiYWphcyBwb3IgZW1wbGVhZG8iICAgDQpoaXN0KGRmMyRCQUpBLG1haW49IkZyZWN1ZW5jaWEgZGUgYmFqYXMgcG9yIGVtcGxlYWRvIGFjb3JkZSBhIHByb21lZGlvcyIseGxhYj0iRnJlY3VlbmNpYSBkZSBiYWphcyBwb3IgZW1wbGVhZG8iLGNvbD0nc3RlZWxibHVlJykNCiAgDQojIyMgRXN0YWRvIGVuIGVsIHF1ZSB2aXZlbiBlbXBsZWFkb3MgVlMuIEfDqW5lcm8gbcOhcyByZWN1cnJlbnRlDQoNCmBgYA0KDQojIyMgNi4zIEdyw6FmaWNvcyBkZSBkaXNwZXJzacOzbiAoMikNCmBgYHtyfQ0KZGY3PC1kZjYNCg0KIyMjIEdyw6FmaWNhIGRlIGRpc3BlcnNpw7NuOiBDw7NkaWdvIHBvc3RhbA0KcGxvdChkZjckQ09ESUdPLlBPU1RBTCwgaG9yaXpvbnRhbD0gVFJVRSkNCg0KIyMjIEdyw6FmaWNhIGRlIGRpc3BlcnNpw7NuOiBOw7ptZXJvIGRlIGVtcGxlYWRvDQpwbG90KGRmNyROTy5ERS5FTVBMRUFETywgaG9yaXpvbnRhbD0gVFJVRSkNCmBgYA0KDQojIyMgNy4gUHJvcHVlc3RhcyBkZSBtZWpvcmEgZGUgYWN1ZXJkbyBhIGFuw6FsaXNpcw0KUHJvcHVlc3RhIDEuIFZlbW9zIHF1ZSBzZSB0aWVuZSB1biBtYXlvciBwb3JjZW50YWplIGRlIGVtcGxlYWRhcyBmZW1lbmluYXMsIHJlcHJlc2VudGFuZG8gdW4gNzAlIGRlIGxvcyBlbXBsZWFkb3MgdG90YWxlcy4gQWRpY2lvbmFsLCBtdWNob3MgZGUgbG9zIGVtcGxlYWRvcyB2aXZlbiBlbiBwcmluY2lwYWxtZW50ZSB0cmVzIGVzdGFkb3M6IE51ZXZvIExlw7NuIHkgQ29haHVpbGEsIGRlbCBjdWFsIGRlc3RhY2EgcHJpbmNpcGFsbWVudGUgTnVldm8gTGXDs24uIFNlIHJlY29taWVuZGEgcXVlIGhheWEgbWF5b3IgYXBlcnR1cmEgZW4gY3VhbnRvIGEgbG9zIHJvbGVzIHF1ZSBwdWVkZW4gYXN1bWlyIGVuIGxvcyBkaXN0aW50b3MgcHVlc3RvcyBkZSB0cmFiYWpvIG8gZW4gc3UgY2FzbywgcXVlIGhheWEgcHVlc3RvcyBkZSB0cmFiYWpvIGVzcGVjw61maWNhbWVudGUgZGlyaWdpZG9zIHBhcmEgbXVqZXJlcy4NCg0KUHJvcHVlc3RhIDIuIFJlc3BlY3RvIGEgbG9zIHB1ZXN0b3MgbGFib3JhbGVzLCBleGlzdGVuIDYwIHBlcnNvbmFzIGRlc2VtcGXDscOhbmRvc2UgY29tbyAiYXl1ZGFudGVzIGdlbmVyYWxlcyIuIEVzIGltcG9ydGFudGUgYW5hbGl6YXIgbGEgaW1wb3J0YW5jaWEgcXVlIHRpZW5lIGRpY2hvIHB1ZXN0byB5IGN1w6FsZXMgc29uIGxhcyBwb3NpYmlsaWRhZGVzIGRlIGNyZWNpbWllbnRvIGRlbnRybyBkZSBlc3RlLiBTZSBkZWJlIGNvbnNpZGVyYXIgbGEgZm9ybWEgZGUgaW1wbGVtZW50YXIgdW5hIGV2YWx1YWNpw7NuIGRlIGhhYmlsaWRhZGVzIHBhcmEgbG9zIGVtcGxlYWRvcyBxdWUgbGVzIHBlcm1pdGEgY3JlY2VyIGRlIG1hbmVyYSBvcmfDoW5pY2EgZGVudHJvIGRlIGxhIGVtcHJlc2EgeSBkZSBlc3RhIGZvcm1hLCBhdW1lbnRhciBlbCBwb3JjZW50YWplIGRlIHJldGVuY2nDs24gZGUgcGVyc29uYWwuDQoNCiMjIyA4LiBDb25jbHVzaW9uZXMNCkVzdGUgYW7DoWxpc2lzIG5vcyBwZXJtaXRlIGNvbXByZW5kZXIgbGEgaW1wb3J0YW5jaWEgZGUgbGEgbGltcGllemEgZGUgZGF0b3MsIGFuw6FsaXNpcyBlIGludGVycHJldGFjacOzbiBkZSBkYXRvcy4gRGUgYWN1ZXJkbyBhIGxhIGluZm9ybWFjacOzbiwgc2UgcHVlZGUgdmVyIHF1ZSBGT1JNIGHDum4gY3VlbnRhIGNvbiDDoXJlYXMgZGUgb3BvcnR1bmlkYWQgcG9yIHRyYWJhamFyIHBhcmEgdGVuZXIgdW4gbWVqb3IgYXByb3ZlY2hhbWllbnRvIGRlIHN1cyByZWN1cnNvcy4gRXMgaW1wb3J0YW50ZSBkZXN0YWNhciBxdWUgYWxndW5vIGRlIGVzYXMgbWVqb3JhcyBlbXBpZXphIHBvciBsYSB0cmFuc2Zvcm1hY2nDs24gZGlnaXRhbCwgbGEgY3VhbCBwb2Ryw6Egc2VyIGltcGxlbWVudGFkYSBhIHRyYXbDqXMgZGUgdW4gbWVqb3Igc2VndWltaWVudG8gZGUgc3VzIGJhc2VzIGRlIGRhdG9zIGludGVybmFzLCB0ZW5pw6luZG9sYSBhY3R1YWxpemFkYSB5IGxpbXBpYS4gRGUgZXN0YSBmb3JtYSBzZSBwb2Ryw6EgdGVuZXIgdW5hIG1lam9yIHRvbWEgZGUgZGVjaXNpb25lcyBhIGZ1dHVybyB5IGRlIG1hbmVyYSBjb250aW51YSwgdW5hIG1lam9yIHByZWRpY2Npw7NuIGRlIGRpYWduw7NzdGljb3Mu