## Descargar librerías
library(foreign)
library(dplyr) # data manipulation
##
## 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) # to work with categorical variables
library(ggplot2) # data visualization
library(readr) # read specific csv files
library(janitor) # data exploration and cleaning
##
## Attaching package: 'janitor'
## The following objects are masked from 'package:stats':
##
## chisq.test, fisher.test
library(Hmisc) # several useful functions for data analysis
## 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) # functions for multivariate analysis
##
## Attaching package: 'psych'
## The following object is masked from 'package:Hmisc':
##
## describe
## The following objects are masked from 'package:ggplot2':
##
## %+%, alpha
library(naniar) # summaries and visualization of missing values NAs
library(dlookr) # summaries and visualization of missing values NAs
##
## 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) # correlation plots
## corrplot 0.92 loaded
library(jtools) # presentation of regression analysis
##
## Attaching package: 'jtools'
## The following object is masked from 'package:Hmisc':
##
## %nin%
library(lmtest) # diagnostic checks - linear regression analysis
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
library(car) # diagnostic checks - linear regression analysis
## 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) # diagnostic checks - linear regression analysis
##
## Attaching package: 'olsrr'
## The following object is masked from 'package:datasets':
##
## rivers
library(kableExtra) # HTML table attributes
##
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
##
## group_rows
library(gmodels)
library(openxlsx)
library(crosstable)
A partir de esta parte del documento, el análisis estará dividido en dos partes. En la primera se analizará la base de datos con la información de los colaboradores actuales de la empresa, mientras que en la segunda se analizarán los datos de aquellos empleados que ya fueron bajas por motivos de despido, renuncia voluntaria, entre otros.
## 1. Número de registros y variables
### Importar base de datos
df1 <-read.csv(file.choose())
summary(df1)
## No..De.Empleado APELLIDOS NOMBRE FECHA.DE.NACIMIENTO
## Min. : 1.00 Length:113 Length:113 Length:113
## 1st Qu.: 31.00 Class :character Class :character Class :character
## Median : 63.00 Mode :character Mode :character Mode :character
## Mean : 75.86
## 3rd Qu.:127.00
## Max. :169.00
## EDAD GENERO RFC FECHA.DE.ALTA
## Min. : 0.00 Length:113 Length:113 Length:113
## 1st Qu.:25.00 Class :character Class :character Class :character
## Median :33.00 Mode :character Mode :character Mode :character
## Mean :35.74
## 3rd Qu.:45.00
## Max. :73.00
## PRIMER.MES CUARTO.MES BAJA PUESTO
## Length:113 Length:113 Min. :0.0000 Length:113
## Class :character Class :character 1st Qu.:0.0000 Class :character
## Mode :character Mode :character Median :0.0000 Mode :character
## Mean :0.3451
## 3rd Qu.:0.0000
## Max. :3.0000
## DEPARTAMENTO SALARIO.DIARIO.IMSS FACTOR.CRED.INFONAVIT
## Length:113 Min. :144.4 Min. : 0
## Class :character 1st Qu.:176.7 1st Qu.: 0
## Mode :character Median :180.7 Median : 0
## Mean :181.2 Mean : 2244
## 3rd Qu.:180.7 3rd Qu.: 0
## Max. :441.4 Max. :182096
## 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 X
## Min. :25016 Length:113 Length:113 Mode:logical
## 1st Qu.:66640 Class :character Class :character NA's:113
## Median :66646 Mode :character Mode :character
## Mean :63365
## 3rd Qu.:66649
## Max. :67493
## X.1
## Mode:logical
## NA's:113
##
##
##
##
describe(df1)
## # A tibble: 7 × 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.Emple… 113 0 7.59e+1 5.39e+1 5.07e+0 96 0.400 -1.24 1
## 2 EDAD 113 0 3.57e+1 1.33e+1 1.25e+0 20 0.398 -0.310 0
## 3 BAJA 113 0 3.45e-1 9.61e-1 9.04e-2 0 2.45 4.05 0
## 4 SALARIO.DIAR… 113 0 1.81e+2 3.47e+1 3.27e+0 3.96 4.93 31.6 144.
## 5 FACTOR.CRED.… 113 0 2.24e+3 1.79e+4 1.68e+3 0 9.45 93.5 0
## 6 N..CREDITO.I… 113 0 6.77e+7 3.55e+8 3.34e+7 0 5.10 24.4 0
## 7 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
variable<-c("No..De.Empleado","APELLIDOS","NOMBRE","FECHA.DE.NACIMIENTO","EDAD","GENERO","RFC","FECHA.DE.ALTA","PRIMER.MES","CUARTO.MES","BAJA","PUESTO","DEPARTAMENTO","SALARIO.DIARIO.IMSS","FACTOR.CRED.INFONAVIT","N..CREDITO.INFONAVIT","LUGAR.DE.NACIMIENTO","CURP","CALLE","NUMERO.INTERNO","COLONIA","MUNICIPIO","ESTADO","CODIGO.POSTAL","ESTADO.CIVIL","TARJETA.CUENTA")
Type<-c(
"quantitative (continous)",
"qualitative (discrete)",
"qualitative (discrete)",
"qualitative (discrete)",
"quantitative (continous)",
"qualitative (discrete)",
"qualitative (discrete)",
"quantitative (continous)",
"quantitative (continous)",
"quantitative (continous)",
"quantitative (continous)",
"qualitative (discrete)",
"qualitative (discrete)",
"quantitative (continous)",
"quantitative (continous)",
"qualitative (discrete)",
"qualitative (discrete)",
"qualitative (discrete)",
"qualitative (discrete)",
"quantitative (continous)",
"qualitative (discrete)",
"qualitative (discrete)",
"qualitative (discrete)",
"quanitative (continous)",
"qualitative (discrete)",
"qualitative (discrete)"
)
table<-data.frame(variable,Type)
knitr::kable(table)
| variable | Type |
|---|---|
| No..De.Empleado | quantitative (continous) |
| APELLIDOS | qualitative (discrete) |
| NOMBRE | qualitative (discrete) |
| FECHA.DE.NACIMIENTO | qualitative (discrete) |
| EDAD | quantitative (continous) |
| GENERO | qualitative (discrete) |
| RFC | qualitative (discrete) |
| FECHA.DE.ALTA | quantitative (continous) |
| PRIMER.MES | quantitative (continous) |
| CUARTO.MES | quantitative (continous) |
| BAJA | quantitative (continous) |
| PUESTO | qualitative (discrete) |
| DEPARTAMENTO | qualitative (discrete) |
| SALARIO.DIARIO.IMSS | quantitative (continous) |
| FACTOR.CRED.INFONAVIT | quantitative (continous) |
| N..CREDITO.INFONAVIT | qualitative (discrete) |
| LUGAR.DE.NACIMIENTO | qualitative (discrete) |
| CURP | qualitative (discrete) |
| CALLE | qualitative (discrete) |
| NUMERO.INTERNO | quantitative (continous) |
| COLONIA | qualitative (discrete) |
| MUNICIPIO | qualitative (discrete) |
| ESTADO | qualitative (discrete) |
| CODIGO.POSTAL | quanitative (continous) |
| ESTADO.CIVIL | qualitative (discrete) |
| TARJETA.CUENTA | qualitative (discrete) |
variables <- c(
"No..De.Empleado",
"APELLIDOS",
"NOMBRE",
"FECHA.DE.NACIMIENTO",
"EDAD",
"GENERO",
"RFC",
"FECHA.DE.ALTA",
"PRIMER.MES",
"CUARTO.MES",
"BAJA",
"PUESTO",
"DEPARTAMENTO",
"SALARIO.DIARIO.IMSS",
"FACTOR.CRED.INFONAVIT",
"N..CREDITO.INFONAVIT",
"LUGAR.DE.NACIMIENTO",
"CURP",
"CALLE",
"NUMERO.INTERNO",
"COLONIA",
"MUNICIPIO",
"ESTADO",
"CODIGO.POSTAL",
"ESTADO.CIVIL",
"TARJETA.CUENTA"
)
tipos <- c(
"Cuantitativo",
"Cualitativo",
"Cualitativo",
"Cualitativo",
"Cuantitativo",
"Cualitativo",
"Cualitativo",
"Cuantitativo",
"Cuantitativo",
"Cuantitativo",
"Cuantitativo",
"Cualitativo",
"Cualitativo",
"Cuantitativo",
"Cuantitativo",
"Cualitativo",
"Cualitativo",
"Cualitativo",
"Cualitativo",
"Cuantitativo",
"Cualitativo",
"Cualitativo",
"Cualitativo",
"Cuantitativo",
"Cualitativo",
"Cualitativo"
)
escalas <- c(
"Intervalo",
"Nominal",
"Nominal",
"Intervalo",
"Intervalo",
"Nominal",
"Nominal",
"Razón",
"Razón",
"Razón",
"Razón",
"Ordinal",
"Nominal",
"Razón",
"Razón",
"Nominal",
"Nominal",
"Nominal",
"Nominal",
"Razón",
"Nominal",
"Nominal",
"Nominal",
"Ordinal",
"Nominal",
"Nominal"
)
table1 <- data.frame (variables, tipos, escalas)
knitr::kable(table1)
| variables | tipos | escalas |
|---|---|---|
| No..De.Empleado | Cuantitativo | Intervalo |
| APELLIDOS | Cualitativo | Nominal |
| NOMBRE | Cualitativo | Nominal |
| FECHA.DE.NACIMIENTO | Cualitativo | Intervalo |
| EDAD | Cuantitativo | Intervalo |
| GENERO | Cualitativo | Nominal |
| RFC | Cualitativo | Nominal |
| FECHA.DE.ALTA | Cuantitativo | Razón |
| PRIMER.MES | Cuantitativo | Razón |
| CUARTO.MES | Cuantitativo | Razón |
| BAJA | Cuantitativo | Razón |
| PUESTO | Cualitativo | Ordinal |
| DEPARTAMENTO | Cualitativo | Nominal |
| SALARIO.DIARIO.IMSS | Cuantitativo | Razón |
| FACTOR.CRED.INFONAVIT | Cuantitativo | Razón |
| N..CREDITO.INFONAVIT | Cualitativo | Nominal |
| LUGAR.DE.NACIMIENTO | Cualitativo | Nominal |
| CURP | Cualitativo | Nominal |
| CALLE | Cualitativo | Nominal |
| NUMERO.INTERNO | Cuantitativo | Razón |
| COLONIA | Cualitativo | Nominal |
| MUNICIPIO | Cualitativo | Nominal |
| ESTADO | Cualitativo | Nominal |
| CODIGO.POSTAL | Cuantitativo | Ordinal |
| ESTADO.CIVIL | Cualitativo | Nominal |
| TARJETA.CUENTA | Cualitativo | Nominal |
Las escalas de medición permiten organizar datos en orden jerárquico. Éstas pueden ser clasificadas de acuerdo a una degradación de las características de distintas variables. Entre las variables usadas están nominal (aquellas que son mutuamente excluyentes y no asignan un orden o jerarquía), ordinal (establecen un orden, puede ser creciente o decreciente), intervalo (establecen un orden determinado por un intervalo numérico) y razón (existe un intervalo numérico; el cero representa la ausencia de valor; es un cero absoluto).
Remover valores irrelevantes (eliminar renglones duplicados) y conversión de datos son técnicas elegidas para realizar la limpieza de datos debido a las necesidades de la base de datos y el beneficio que generó para el análisis descriptivo, obteniendo información más clara y concisa.
### Eliminar renglones duplicados
df2<-df1
df2<-distinct(df2)
### ¿Cuántos NA's tengo en la base de datos? Primera limpieza
sum(is.na(df2))
## [1] 226
### Eliminar columnas
df3<-df2
df3 <- subset(df3, select =-c (X))
df3 <- subset(df3, select =-c (X.1))
### ¿Cuántos NA's tengo en la base de datos? Segunda limpieza
sum(is.na(df3))
## [1] 0
describe(df3)
## # A tibble: 7 × 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.Emple… 113 0 7.59e+1 5.39e+1 5.07e+0 96 0.400 -1.24 1
## 2 EDAD 113 0 3.57e+1 1.33e+1 1.25e+0 20 0.398 -0.310 0
## 3 BAJA 113 0 3.45e-1 9.61e-1 9.04e-2 0 2.45 4.05 0
## 4 SALARIO.DIAR… 113 0 1.81e+2 3.47e+1 3.27e+0 3.96 4.93 31.6 144.
## 5 FACTOR.CRED.… 113 0 2.24e+3 1.79e+4 1.68e+3 0 9.45 93.5 0
## 6 N..CREDITO.I… 113 0 6.77e+7 3.55e+8 3.34e+7 0 5.10 24.4 0
## 7 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
count(df3, GENERO, sort = TRUE)
## GENERO n
## 1 FEMENINO 61
## 2 MASCULINO 52
count(df3, PUESTO, sort = TRUE)
## PUESTO n
## 1 AYUDANTE GENERAL 67
## 2 COSTURERO/A 10
## 3 CHOFER 5
## 4 SOLDADOR 5
## 5 RESIDENTE 4
## 6 SUPERVISOR/A 4
## 7 EXTERNO 2
## 8 INSPECTOR/A DE CALIDAD 2
## 9 OPERADOR 2
## 10 AYUDANTE DE MANTENIMIENTO 1
## 11 ENFERMERO/A 1
## 12 GESTOR 1
## 13 GUARDIA DE SEGURIDAD 1
## 14 LIDER 1
## 15 LIMPIEZA 1
## 16 MANTENIMIENTO 1
## 17 MONTACARGUISTA 1
## 18 MOZO 1
## 19 PINTOR 1
## 20 RECIBO 1
## 21 SERVICIO AL CLIENTE 1
count(df3, DEPARTAMENTO, sort = TRUE)
## DEPARTAMENTO n
## 1 VARIOS 40
## 2 PRODUCCION RETORN 10
## 3 COSTURA 9
## 4 CEDIS 8
## 5 PRODUCCION CARTON MDL 7
## 6 STABILUS 7
## 7 PRODUCCION CARTON MC 5
## 8 EMBARQUES 4
## 9 PAILERIA 4
## 10 TROQUEL 4
## 11 CELDAS 3
## 12 EHS 3
## 13 CALIDAD 2
## 14 EXTERNO 2
## 15 AY FLEXO 1
## 16 CORTADORAS 1
## 17 LIMPIEZA 1
## 18 MATERIALES 1
## 19 ROTATIVA 1
count(df3, SALARIO.DIARIO.IMSS, sort = TRUE)
## SALARIO.DIARIO.IMSS n
## 1 180.68 59
## 2 176.72 23
## 3 151.61 11
## 4 151.67 5
## 5 144.45 3
## 6 152.86 1
## 7 175.79 1
## 8 181.68 1
## 9 184.68 1
## 10 185.68 1
## 11 208.65 1
## 12 240.71 1
## 13 240.75 1
## 14 260.01 1
## 15 279.61 1
## 16 337.05 1
## 17 441.37 1
count(df3, LUGAR.DE.NACIMIENTO, sort = TRUE)
## LUGAR.DE.NACIMIENTO n
## 1 NUEVO LEON 79
## 2 VERACRUZ 12
## 3 COAHUILA 5
## 4 SAN LUIS POTOSI 3
## 5 TAMAULIPAS 3
## 6 CHIAPAS 2
## 7 CIUDAD DE MEXICO 2
## 8 DURANGO 2
## 9 GUANAJUATO 1
## 10 HONDURAS 1
## 11 QUINTANA ROO 1
## 12 TABASCO 1
## 13 ZACATECAS 1
tibble(df3)
## # A tibble: 113 × 26
## No..De.Em…¹ APELL…² NOMBRE FECHA…³ EDAD GENERO RFC FECHA…⁴ PRIME…⁵ CUART…⁶
## <int> <chr> <chr> <chr> <int> <chr> <chr> <chr> <chr> <chr>
## 1 1 MARTIN… NICOL… 10/09/… 67 MASCU… MALN… 01/07/… 31/07/… 29/10/…
## 2 2 DE LEO… MARIA… 14/05/… 43 FEMEN… LEMM… 01/07/… 31/07/… 29/10/…
## 3 3 HERNAN… JOSE … 21/11/… 73 MASCU… HECL… 22/11/… 22/12/… 22/04/…
## 4 4 CAZARE… MARIA 01/05/… 32 FEMEN… CAMM… 30/01/… 01/03/… 30/05/…
## 5 5 LOPEZ … YOLAN… 06/09/… 57 FEMEN… LORY… 05/05/… 04/06/… 02/09/…
## 6 6 HERNAN… HERME… 22/06/… 38 MASCU… HEMH… 03/07/… 02/08/… 31/10/…
## 7 7 PERALT… ARACE… 01/07/… 55 FEMEN… PEMA… 06/08/… 05/09/… 04/12/…
## 8 8 TOVAR … PEDRO… 10/12/… 26 MASCU… TOPP… 23/08/… 22/09/… 21/12/…
## 9 9 MORENO… HUMBE… 03/11/… 27 MASCU… MOSH… 11/01/… 10/02/… 11/05/…
## 10 10 LUNA L… YOLAN… 18/08/… 37 FEMEN… LULY… 20/02/… 22/03/… 20/06/…
## # … with 103 more rows, 16 more variables: BAJA <int>, PUESTO <chr>,
## # DEPARTAMENTO <chr>, SALARIO.DIARIO.IMSS <dbl>, FACTOR.CRED.INFONAVIT <dbl>,
## # 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, ⁵PRIMER.MES, …
En esta primera parte del análisis estadístico descriptivo, vemos que el conteo total de empleados actuales es de 113 y hay un mayor número de mujeres (54%) contra empleados que son hombres (46%).
En cuanto a los puestos, vemos que existe una gran cantidad de ayudantes generales, pues es el puesto que ocupa mayor capital humano, contra aquellos que ocupan menos que van desde servicio al cliente hasta operadores.
Entre los departamentos con mayor cantidad de empleados, vemos que está varios y producción retorn. El departamento de “Varios” fue creado para catalogar a aquellos empleados que en la base de datos no tenían definida un área en concreto.
Vemos que la mayoría de los empleados ganan $180.68 pesos de salario diario por el IMSS y de todos los empleados, se calcula que tienen un promedio de salario diario de $236.62 pesos.
En cuanto al lugar de origen, vemos que la mayoría de los empleados provienen del Estado de Nuevo León (70%) y Veracruz (11%), viendo que el 19% restante de los empleados son provenientes de Zona Centro o estados colidantes de Nuevo León.
Las tablas de frecuencia son una ordenación en formma de tabla de los datos estadísticos, asignando a cada dato su frecuencia correspondiente, es decir, el número de veces que aparece un determinado valor en un estudio estadístico.
### Tabla de frecuencia: Salario diario de acuerdo al género
proportion <- prop.table(table(df3$GENERO,df3$SALARIO.DIARIO.IMSS))
proportion %>%
kbl() %>%
kable_styling()
| 144.45 | 151.61 | 151.67 | 152.86 | 175.79 | 176.72 | 180.68 | 181.68 | 184.68 | 185.68 | 208.65 | 240.71 | 240.75 | 260.01 | 279.61 | 337.05 | 441.37 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| FEMENINO | 0.0265487 | 0.0619469 | 0.0088496 | 0.0088496 | 0.0000000 | 0.0619469 | 0.3008850 | 0.0088496 | 0.0088496 | 0.0088496 | 0.0088496 | 0.0088496 | 0.0000000 | 0.0088496 | 0.0000000 | 0.0088496 | 0.0088496 |
| MASCULINO | 0.0000000 | 0.0353982 | 0.0353982 | 0.0000000 | 0.0088496 | 0.1415929 | 0.2212389 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0088496 | 0.0000000 | 0.0088496 | 0.0000000 | 0.0000000 |
Esta tabla de frecuencia representa el valor decimal del salario diario de acuerdo al género, es decir, la cantidad de empleados en valor decimal que reciben cierto salario diario de acuerdo a su género.
A partir de la siguiente base de datos, se analizará específicamente la información de aquellas personas que se dieron de baja en años anteriores con el objetivo de entender las principales razones de la alta rotación en la empresa.
### Importar base de datos
df4 <-read.csv(file.choose())
summary(df4)
## NO.DE.BAJAS APELLIDOS NOMBRE FECHA.DE.NACIMIENTO
## Min. : 1.00 Length:238 Length:238 Length:238
## 1st Qu.: 60.25 Class :character Class :character Class :character
## Median :119.50 Mode :character Mode :character Mode :character
## Mean :119.50
## 3rd Qu.:178.75
## Max. :238.00
##
## EDAD GENERO FECHA.DE.ALTA MOTIVO.DE.BAJA
## Min. : 0.00 Length:238 Length:238 Length:238
## 1st Qu.:22.25 Class :character Class :character Class :character
## Median :30.00 Mode :character Mode :character Mode :character
## Mean :30.50
## 3rd Qu.:36.00
## Max. :52.00
## NA's :160
## DIAS.TRABAJADOS BAJA PUESTO DEPARTAMENTO
## Min. : 0.00 Length:238 Length:238 Length:238
## 1st Qu.: 9.00 Class :character Class :character Class :character
## Median : 22.50 Mode :character Mode :character Mode :character
## Mean : 87.30
## 3rd Qu.: 60.75
## Max. :1966.00
##
## NO.SEGURO.SOCIAL SALARIO.DIARIO.IMSS FACTOR.CRED.INFONAVIT
## Length:238 Min. :144.4 Min. : 0
## Class :character 1st Qu.:180.7 1st Qu.: 0
## Mode :character Median :180.7 Median : 0
## Mean :178.0 Mean : 3112
## 3rd Qu.:180.7 3rd Qu.: 0
## Max. :500.0 Max. :305820
##
## NO.CREDITO.INFONAVIT LUGAR.DE.NACIMIENTO CURP CALLE
## Min. :0.000e+00 Length:238 Length:238 Length:238
## 1st Qu.:0.000e+00 Class :character Class :character Class :character
## Median :0.000e+00 Mode :character Mode :character Mode :character
## Mean :1.582e+08
## 3rd Qu.:0.000e+00
## Max. :6.919e+09
##
## NUMERO.INTERNO COLONIA CODIGO.POSTAL MUNICIPIO
## Length:238 Length:238 Min. :25019 Length:238
## Class :character Class :character 1st Qu.:33604 Class :character
## Mode :character Mode :character Median :33604 Mode :character
## Mean :44462
## 3rd Qu.:66056
## Max. :67450
##
## ESTADO ESTADO.CIVIL TARJETA.CUENTA
## Length:238 Length:238 Length:238
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
### ¿Cuántos NA's tengo en la base de datos?
sum(is.na(df4))
## [1] 160
### Borrar todos los registros NA's de una tabla
df5<-df4
df5<-na.omit(df5)
summary(df5)
## NO.DE.BAJAS APELLIDOS NOMBRE FECHA.DE.NACIMIENTO
## Min. : 5.00 Length:78 Length:78 Length:78
## 1st Qu.: 49.75 Class :character Class :character Class :character
## Median :167.50 Mode :character Mode :character Mode :character
## Mean :139.60
## 3rd Qu.:212.75
## Max. :238.00
## EDAD GENERO FECHA.DE.ALTA MOTIVO.DE.BAJA
## Min. : 0.00 Length:78 Length:78 Length:78
## 1st Qu.:22.25 Class :character Class :character Class :character
## Median :30.00 Mode :character Mode :character Mode :character
## Mean :30.50
## 3rd Qu.:36.00
## Max. :52.00
## DIAS.TRABAJADOS BAJA PUESTO DEPARTAMENTO
## Min. : 0.00 Length:78 Length:78 Length:78
## 1st Qu.: 9.00 Class :character Class :character Class :character
## Median : 19.00 Mode :character Mode :character Mode :character
## Mean : 45.10
## 3rd Qu.: 39.75
## Max. :730.00
## NO.SEGURO.SOCIAL SALARIO.DIARIO.IMSS FACTOR.CRED.INFONAVIT
## Length:78 Min. :151.6 Min. : 0.0
## Class :character 1st Qu.:180.7 1st Qu.: 0.0
## Mode :character Median :180.7 Median : 0.0
## Mean :174.3 Mean : 130.4
## 3rd Qu.:180.7 3rd Qu.: 0.0
## Max. :183.7 Max. :2795.0
## NO.CREDITO.INFONAVIT LUGAR.DE.NACIMIENTO CURP CALLE
## Min. :0.000e+00 Length:78 Length:78 Length:78
## 1st Qu.:0.000e+00 Class :character Class :character Class :character
## Median :0.000e+00 Mode :character Mode :character Mode :character
## Mean :1.871e+08
## 3rd Qu.:0.000e+00
## Max. :6.919e+09
## NUMERO.INTERNO COLONIA CODIGO.POSTAL MUNICIPIO
## Length:78 Length:78 Min. :25019 Length:78
## Class :character Class :character 1st Qu.:33604 Class :character
## Mode :character Mode :character Median :33604 Mode :character
## Mean :46508
## 3rd Qu.:66645
## Max. :67450
## ESTADO ESTADO.CIVIL TARJETA.CUENTA
## Length:78 Length:78 Length:78
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
### ¿Cuántos NA's tengo en la base de datos?
sum(is.na(df5))
## [1] 0
table(df5$PUESTO, df5$MOTIVO.DE.BAJA)
##
## BAJA POR FALTAS RENUNCIA VOLUNTARIA
## AYUDANTE DE EMBARQUES 0 0
## AYUDANTE GENERAL 50 18
## COSTURERO/A 1 0
## GUARDIA DE SEGURIDAD 0 1
## INSPECTOR DE CALIDAD 1 0
## JEFE DE SEGURIDAD E HIGIENE 0 1
## MONTACARGUISTA 1 1
## RESIDENTE 1 0
## SOLDADOR 1 0
##
## TERMINO DE CONTRATO
## AYUDANTE DE EMBARQUES 1
## AYUDANTE GENERAL 1
## COSTURERO/A 0
## GUARDIA DE SEGURIDAD 0
## INSPECTOR DE CALIDAD 0
## JEFE DE SEGURIDAD E HIGIENE 0
## MONTACARGUISTA 0
## RESIDENTE 0
## SOLDADOR 0
En la tabla vemos que se destacan tres razones principales de bajas de empleados, las cuales son: bajas por faltas, renuncia voluntaria o término de contrato. En su mayoría, hubo una baja por faltas del puesto de ayudante general y renuncia voluntaria para el mismo puesto. Al igual que en la base de datos anterior, vemos que el puesto con mayor rotación a nivel histórico es de ayudante general. Esto sugiere que existe un alto número de contrataciones para el puesto debido a una mala gestión administrativa o bajo rendimiento de los empleados.
## 5.3.1 Pie chart
### Pie chart: Representación de bajas acorde al estado de residencia
pie(table(df5$ESTADO), col=c("orange","coral1"),
main="Representación de bajas acorde al estado de residencia")
La gráfica anterior nos muestra que hay un mayor número de ex-empleados que viven en el Estado de Nuevo León. Sin embargo, hay un porcentaje que reside en Coahuila. Esto se puede interpretar con que hay un alto nivel de rotación existente debido a la lejanía de residencia de los empleados.
pie(table(df5$GENERO), col=c("orange","coral1"),
main="Representación de bajas acorde al género")
La anterior gráfica de pastel reafirma lo que mencionamos anteriormente. De acuerdo a las bajas realizadas, la mayoría de los ex-empleados son del género femenino.
### Gráfica de dispersión: Número de bajas VS. Días trabajados
plot(x= df5$NO.DE.BAJAS,
y=df5$DIAS.TRABAJADOS)
La gráfica de dispersión nos muestra la intensidad de relación entre la variable de días trabajados y número de bajas. Esto nos dice que hubo un alto número de bajas de empleados que trabajaron menos de 200 días, es decir, la mayoría de los ex-empleados estuvieron en FORM menos de 1 año.
Ana Karen García. (2022, September 8). Industria automotriz anota un buen agosto: crecen producción, exportaciones y ventas internas. El Economista; El Economista. https://www.eleconomista.com.mx/empresas/Industria-automotriz-anota-un-buen-agosto-crecen-produccion-exportaciones-y-ventas-internas-20220907-0031.html
Hernández, F., & Usuga, O. (2022). 9 Tablas de frecuencia | Manual de R. Retrieved 24 September 2022, from https://fhernanb.github.io/Manual-de-R/tablas.html#ejemplo-tabla-de-frecuencia-relativa-de-una-v%C3%ADa
9 Estilos y formatos de tabla | Tablas y graficos con R y R Studio. (2022). Retrieved 24 September 2022, from https://tables.investigaonline.com/tse-formateo.html