Actividad 1 - Datos Rotación

La siguiente actividad corresponde a una compañía que presenta una situación de alta rotación (personas que se retiran de manera voluntaria de la compañía) en algunos empleados. La actividad consiste en por medio de la exploración de una base de datos en la cual se identifican posibles factores que se relacionan con la rotación tales como salario, carga laboral entre otros. Se pretende que el estudiante realice una descripción de la base, luego relaciones entre factores previamente identificados con la rotación y finalmente con estos factores proponer una estrategia de retención para mejorar las cifras de rotación.

Las variables que se priorizaron son:

. El ingreso mensual: . Los viajes de negocio:

library(readxl)
datos = read_excel("~/Desktop/Datos_Rotación.xlsx")
head(datos,3)
## # A tibble: 3 x 24
##   Rotación  Edad `Viaje de Negocios` Departamento Distancia_Casa Educación
##   <chr>    <dbl> <chr>               <chr>                 <dbl>     <dbl>
## 1 Si          41 Raramente           Ventas                    1         2
## 2 No          49 Frecuentemente      IyD                       8         1
## 3 Si          37 Raramente           IyD                       2         2
## # … with 18 more variables: Campo_Educación <chr>,
## #   Satisfacción_Ambiental <dbl>, Genero <chr>, Cargo <chr>,
## #   Satisfación_Laboral <dbl>, Estado_Civil <chr>, Ingreso_Mensual <dbl>,
## #   Trabajos_Anteriores <dbl>, Horas_Extra <chr>,
## #   Porcentaje_aumento_salarial <dbl>, Rendimiento_Laboral <dbl>,
## #   AƱos_Experiencia <dbl>, Capacitaciones <dbl>,
## #   Equilibrio_Trabajo_Vida <dbl>, Antigüedad <dbl>, Antigüedad_Cargo <dbl>,
## #   Años_ultima_promoción <dbl>, Años_acargo_con_mismo_jefe <dbl>

Vamos a realizar una exploración univariada de datos:

require(ggplot2)
## Loading required package: ggplot2
require(ggpubr)
## Loading required package: ggpubr
g1=ggplot(datos,aes(x=Edad))+geom_histogram()+theme_bw()
g2=ggplot(datos,aes(x=`Viaje de Negocios`))+geom_bar()+theme_bw()
ggarrange(g1, g2,labels = c("A", "B"),ncol = 2, nrow = 1)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

datos$Edad_grupo=cut(datos$Edad,breaks = c(0,30,40,50,60))

require(table1)
## Loading required package: table1
## 
## Attaching package: 'table1'
## The following objects are masked from 'package:base':
## 
##     units, units<-
y <- table1::table1(~ Edad+`Viaje de Negocios`+Estado_Civil+Ingreso_Mensual+Genero | Rotación, data = datos)
y
No
(N=1233)
Si
(N=237)
Overall
(N=1470)
Edad
Mean (SD) 37.6 (8.89) 33.6 (9.69) 36.9 (9.14)
Median [Min, Max] 36.0 [18.0, 60.0] 32.0 [18.0, 58.0] 36.0 [18.0, 60.0]
Viaje de Negocios
Frecuentemente 208 (16.9%) 69 (29.1%) 277 (18.8%)
No_Viaja 138 (11.2%) 12 (5.1%) 150 (10.2%)
Raramente 887 (71.9%) 156 (65.8%) 1043 (71.0%)
Estado_Civil
Casado 589 (47.8%) 84 (35.4%) 673 (45.8%)
Divorciado 294 (23.8%) 33 (13.9%) 327 (22.2%)
Soltero 350 (28.4%) 120 (50.6%) 470 (32.0%)
Ingreso_Mensual
Mean (SD) 6830 (4820) 4790 (3640) 6500 (4710)
Median [Min, Max] 5200 [1050, 20000] 3200 [1010, 19900] 4920 [1010, 20000]
Genero
F 501 (40.6%) 87 (36.7%) 588 (40.0%)
M 732 (59.4%) 150 (63.3%) 882 (60.0%)
#es cuanti
t.test(datos$Edad~datos$Rotación)
## 
##  Welch Two Sample t-test
## 
## data:  datos$Edad by datos$Rotación
## t = 5.828, df = 316.93, p-value = 1.38e-08
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  2.618930 5.288346
## sample estimates:
## mean in group No mean in group Si 
##         37.56123         33.60759
#es cuali
require(CGPfunctions)
## Loading required package: CGPfunctions
## Registered S3 methods overwritten by 'parameters':
##   method                           from      
##   as.double.parameters_kurtosis    datawizard
##   as.double.parameters_skewness    datawizard
##   as.double.parameters_smoothness  datawizard
##   as.numeric.parameters_kurtosis   datawizard
##   as.numeric.parameters_skewness   datawizard
##   as.numeric.parameters_smoothness datawizard
##   ci.blavaan                       bayestestR
##   print.parameters_distribution    datawizard
##   print.parameters_kurtosis        datawizard
##   print.parameters_skewness        datawizard
##   summary.parameters_kurtosis      datawizard
##   summary.parameters_skewness      datawizard
## Registered S3 methods overwritten by 'lme4':
##   method                          from
##   cooks.distance.influence.merMod car 
##   influence.merMod                car 
##   dfbeta.influence.merMod         car 
##   dfbetas.influence.merMod        car
PlotXTabs2(data = datos,x = Edad_grupo,y = Rotación)

PlotXTabs2(data = datos,x = Estado_Civil,y = Rotación)

PlotXTabs2(data = datos,x = Genero,y = Rotación)