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_RotacioĢ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)