library(readxl)
datos = read_excel("/Mesa/YDRAY-Datos_Rotacion.xlsx")
names(datos)
## [1] "Rotación" "Edad"
## [3] "Viaje de Negocios" "Departamento"
## [5] "Distancia_Casa" "Educación"
## [7] "Campo_Educación" "Satisfacción_Ambiental"
## [9] "Genero" "Cargo"
## [11] "Satisfación_Laboral" "Estado_Civil"
## [13] "Ingreso_Mensual" "Trabajos_Anteriores"
## [15] "Horas_Extra" "Porcentaje_aumento_salarial"
## [17] "Rendimiento_Laboral" "Años_Experiencia"
## [19] "Capacitaciones" "Equilibrio_Trabajo_Vida"
## [21] "Antigüedad" "Antigüedad_Cargo"
## [23] "Años_ultima_promoción" "Años_acargo_con_mismo_jefe"
| Variable | Relación | Hipótesis |
|---|---|---|
| Variables cualitativas categoricas | ||
| Educación | Las personas en etapas tempranas de formación suelen buscar trabajos donde se alinee su plan de vida con su plan de trabajo, buscan trabajos que estén acorde a su perfil y además flexibles que les permita trabajar y seguir estudiando, estas condiciones puede que genere mayor probabilidad de rotación laboral. | Las personas con mayor formación presentan menor índice de rotación . |
| Equilibrio_Trabajo_Vida | Los empleados a demás de las condiciones salariales, buscan una estabilidad entre sus preferencias personales y su trabajo, el cual le permita desarrollarse profesionalmente, pero al igual alcanzar sus logros familiares y de comunidad | Las personas con un bajo índice de equilibrio de trabajo y vida tienen una mayor tasa de rotación |
| Cargo | Los empleados en cargos técnicos o de operación por lo general se sienten frustrados al no desarrollar su potencial, además pueden estar en cargos diferentes a su formación y si la empresa no tiene un plan de asenso fácilmente renuncian, a diferencia de los ejecutivos y directivos que tienen funciones más estratégicas | Los empleados con cargos de perfil más operativo, tienen mayor rotación que los de cargos directivos. |
| Variables cuantitativas | ||
| Edad | Las personas a corta edad tienden a experimentar en varios trabajos, dado su condiciones se les facilita cambiar de ciudad y la mayoría al no estar casados y con hijos no se asientan en un trabajo o ciudad especifica. | Las personas jóvenes tienen más rotación y cambian de trabajo más fácilmente. |
| Años_ultima_promoción | El plan de carrera para un trabajador es fundamental, dado que cada día gana más experiencia, aumenta su nivel de formación profesional y busca tener un mejor cargo en la compañía . | Los trabajadores con poco asenso laboral, rotan más debido que no sienten crecimiento personal en la organización . |
| Ingreso_Mensual | El ingreso es un factor determinante en la estabilidad laboral y es determinante de la calidad de vida del empleado para suplir sus necesidades básicas, de estudio y de ocio. Si esta remuneración es baja puede ser causante de buscar un empleo con mejor sueldo. | Los trabajadores con menor ingreso mensual, tienden a rotar más en busca de mejores sueldos que aumente su calidad de vida. |
Análisis Univariado - Variables Cualitativas
require(ggplot2)
require(ggpubr)
library(plotly)
print("Proporción de niveles de educación de los empleados")
## [1] "Proporción de niveles de educación de los empleados"
prop.table(table(datos$Educación))*100
##
## 1 2 3 4 5
## 11.564626 19.183673 38.911565 27.074830 3.265306
print("Proporción de la percepción del equilibrio del trabajo y la vida de los empleados")
## [1] "Proporción de la percepción del equilibrio del trabajo y la vida de los empleados"
prop.table(table(datos$Equilibrio_Trabajo_Vida))*100
##
## 1 2 3 4
## 5.442177 23.401361 60.748299 10.408163
print("Proporción de los cargos de los empleados")
## [1] "Proporción de los cargos de los empleados"
prop.table(table(datos$Cargo))*100
##
## Director_Investigación Director_Manofactura Ejecutivo_Ventas
## 5.442177 9.863946 22.176871
## Gerente Investigador_Cientifico Recursos_Humanos
## 6.938776 19.863946 3.537415
## Representante_Salud Representante_Ventas Tecnico_Laboratorio
## 8.911565 5.646259 17.619048
#g1=ggplot(datos,aes(y=Educación))+geom_bar()+theme_bw()
g1 =ggplot(datos, aes(Educación))+geom_bar()+ ggtitle("Cantidad de empleados por nivel de educación")+theme_bw()
g2 =ggplot(datos, aes(Equilibrio_Trabajo_Vida))+geom_bar()+ ggtitle("Percepción de equilibrio de vida vs trabajo")+theme_bw()
g3 =ggplot(datos, aes(Cargo))+geom_bar()+ ggtitle("Cantidad de empleados por tipo de cargo")+theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5))
#ggarrange(g1, g2,labels = c("A", "B"),ncol = 2, nrow = 1)
fig =subplot(ggplotly(g1), ggplotly(g2), titleX = TRUE,titleY = TRUE) %>% layout(title = "Empleados por nivel de educación | Equilibrio de vida vs trabajo")
fig
ggplotly(g3)
Análisis Univariado - Variables Cuantitativas
library(stringr)
library(modeest)
mtc <- function(name_var) {
#print(datos$Edad)
cantidad=length(datos[[name_var]])
min = min(datos[[name_var]], na.rm = TRUE)
q1 = quantile(datos[[name_var]], probs = 0.25, na.rm = TRUE)
media = mean.default(datos[[name_var]], na.rm = TRUE)
media_rec = mean.default(datos[[name_var]], trim = 0.025, na.rm = TRUE)
mediana = median.default(datos[[name_var]], na.rm = TRUE)
moda = mfv(datos[[name_var]])
var = var(datos[[name_var]], na.rm = TRUE)
desvest = sd(datos[[name_var]], na.rm = TRUE)
q3 = quantile(datos[[name_var]], probs = 0.75, na.rm = TRUE)
max = max(datos[[name_var]], na.rm = TRUE)
descriptivos =as.numeric(c(cantidad,min, q1, media, media_rec, mediana, moda,var, desvest, q3, max))
nombres = c("Cantidad registros","Mínimo", "Q1", "Media", "Media recortada", "Mediana", "Moda","Varianza", "Desviación Estándar", "Q3", "Máximo")
desc_variables = as.data.frame(rbind(nombres,descriptivos))
print(str_c("Descriptivos", "-", name_var))
return(desc_variables)
}
mtc("Edad")
## [1] "Descriptivos-Edad"
| V1 | V2 | V3 | V4 | V5 | V6 | V7 | V8 | V9 | V10 | V11 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| nombres | Cantidad registros | Mínimo | Q1 | Media | Media recortada | Mediana | Moda | Varianza | Desviación Estándar | Q3 | Máximo |
| descriptivos | 1470 | 18 | 30 | 36.9238095238095 | 36.8218884120172 | 36 | 35 | 83.4550487860222 | 9.13537348913673 | 43 | 60 |
mtc("Años_ultima_promoción")
## [1] "Descriptivos-Años_ultima_promoción"
| V1 | V2 | V3 | V4 | V5 | V6 | V7 | V8 | V9 | V10 | V11 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| nombres | Cantidad registros | Mínimo | Q1 | Media | Media recortada | Mediana | Moda | Varianza | Desviación Estándar | Q3 | Máximo |
| descriptivos | 1470 | 0 | 0 | 2.18775510204082 | 1.94349070100143 | 1 | 0 | 10.3840569039052 | 3.22243027913797 | 3 | 15 |
mtc("Ingreso_Mensual")
## [1] "Descriptivos-Ingreso_Mensual"
| V1 | V2 | V3 | V4 | V5 | V6 | V7 | V8 | V9 | V10 | V11 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| nombres | Cantidad registros | Mínimo | Q1 | Media | Media recortada | Mediana | Moda | Varianza | Desviación Estándar | Q3 | Máximo |
| descriptivos | 1470 | 1009 | 2911 | 6502.93129251701 | 6295.66094420601 | 4919 | 2342 | 22164857.0715184 | 4707.95678309799 | 8379 | 19999 |
g4=ggplot(datos,aes(x=Edad))+geom_histogram()+theme_bw()
g5=ggplot(datos,aes(x=Años_ultima_promoción))+geom_histogram()+theme_bw()
g6=ggplot(datos,aes(x=Ingreso_Mensual))+geom_histogram()+theme_bw()
fig2 =subplot(ggplotly(g4), ggplotly(g5), titleX = TRUE,titleY = TRUE) %>% layout(title = "Edad de los empleados | Cantidad de años de la ultima promoción")
fig2
ggplotly(g6)
Análisis bivariado - Variables cualitativas
require(CGPfunctions)
tabla1 = table(datos$Educación, datos$Rotación)
prop.table(tabla1, margin=1)*100
##
## No Si
## 1 81.76471 18.23529
## 2 84.39716 15.60284
## 3 82.69231 17.30769
## 4 85.42714 14.57286
## 5 89.58333 10.41667
p1 = PlotXTabs2(datos, Educación, Rotación, plottype = "percent")
p1
tabla2 = table(datos$Equilibrio_Trabajo_Vida, datos$Rotación)
prop.table(tabla2, margin=1)*100
##
## No Si
## 1 68.75000 31.25000
## 2 83.13953 16.86047
## 3 85.77828 14.22172
## 4 82.35294 17.64706
p2 = PlotXTabs2(datos, Equilibrio_Trabajo_Vida, Rotación, plottype = "percent")
p2
tabla3 = table(datos$Cargo, datos$Rotación)
prop.table(tabla3, margin=1)*100
##
## No Si
## Director_Investigación 97.500000 2.500000
## Director_Manofactura 93.103448 6.896552
## Ejecutivo_Ventas 82.515337 17.484663
## Gerente 95.098039 4.901961
## Investigador_Cientifico 83.904110 16.095890
## Recursos_Humanos 76.923077 23.076923
## Representante_Salud 93.129771 6.870229
## Representante_Ventas 60.240964 39.759036
## Tecnico_Laboratorio 76.061776 23.938224
p3 = PlotXTabs2(datos, Cargo, Rotación, plottype = "percent")+theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5))
p3
Análisis bivariado - Variables cuantitativas
#Media y mediana de edad por rotación
tapply(datos$Edad,datos$Rotación, median, na.rm = TRUE)
## No Si
## 36 32
tapply(datos$Edad,datos$Rotación, mean, na.rm = TRUE)
## No Si
## 37.56123 33.60759
g7=ggplot(datos,aes(x=Rotación,y=Edad,fill=Rotación))+geom_boxplot()+theme_bw()
ggplotly(g7)
#Media y mediana de años de ultima promoción por rotación
tapply(datos$Años_ultima_promoción,datos$Rotación, median, na.rm = TRUE)
## No Si
## 1 1
tapply(datos$Años_ultima_promoción,datos$Rotación, mean, na.rm = TRUE)
## No Si
## 2.234388 1.945148
g7=ggplot(datos,aes(x=Rotación,y=Años_ultima_promoción,fill=Rotación))+geom_boxplot()+theme_bw()
ggplotly(g7)
#Media y mediana de años de ultima promoción por rotación
tapply(datos$Ingreso_Mensual,datos$Rotación, median, na.rm = TRUE)
## No Si
## 5204 3202
tapply(datos$Ingreso_Mensual,datos$Rotación, mean, na.rm = TRUE)
## No Si
## 6832.740 4787.093
g8=ggplot(datos,aes(x=Rotación,y=Ingreso_Mensual,fill=Rotación))+geom_boxplot()+theme_bw()
ggplotly(g8)
| Hipótesis | Análisis | Estrategias |
|---|---|---|
| Variables cualitativas categoricas | ||
| H1: Las personas con mayor formación presentan menor índice de rotación. |
El 65% de los trabajadores tienen un nivel de formación de posgrados, sin embargo, la rotación se mantiene cerca de 16% en los niveles de formación 1,2 y 3, solo hay una diferencia significativa de 5 puntos procentuales en el nivel 4 pero la propoción de los empleados es menor. No existe suficiente evidencia estadistica para determinar que el nivel de formacion de los empleados esta relacionado con la rotación H1 Rechazada |
Apesar que los datos no son totalmente conluyentes en realción con el nivel de formación se pueden platear las siguientes estrategias
|
| H2: Las personas con un bajo índice de equilibrio de trabajo y vida tienen una mayor tasa de rotación |
La mayoria de los empleados percibe el equilibrio entre medio y medio alto niveles 1,2 y 3, solo un 10% siente que el trabajo y vida estan en armonia. Las pesonas con menor indice de equilibrio son las que más rotan con un 30% y para los otros niveles se mantiene estable en promedio 16% lo que evidencia que la rotación diminuye a la mitad. Existe suficiente evidencia estadistica para determinar que a nivel bajo equlibrio entre vida y trabajo es mayor la tasa de rotación H2 Aceptada |
|
| H3: Los empleados con cargos de perfil más operativo, tienen mayor rotación que los de cargos directivos. |
La mayoria de los empleados tienen cargos no directivos cerca del 60%, y los cargos que más rotan son en el area de ventas, RRHH y tecnico de laboratorios los cuales a nivel de propoción tienen más empleados, sin embargo se obervan diferencias significativas en la tasa de rotación frente a los cargos directivos Existe suficiente evidencia estadistica para determinar que los cargos más operacionales y de mandos medios tienen mayor probabilidad de rotación H3 Aceptada |
|
| Variables cuantitativas | ||
| H4: Las personas jóvenes tienen más rotación y cambian de trabajo más fácilmente. |
La edad de la mayoría de los trabajadores oscila entre 24 y los 40 lo que evidencia una plata de personal joven, con una media de 36 años de edad y los datos presentan una baja variación, a nivel de rotación se mantiene en los mismos rangos de los que no rotan entre 27 y 40 años de edad y no se evidencia mayor variabilidad No existe suficiente evidencia estadística para determinar que el nivel de formacion de los empleados esta relacionado con la edad H4 Rechazada |
|
| H5: Los trabajadores con poco asenso laboral, rotan más debido que no sienten crecimiento personal en la organización . |
La mayoria de los trabajadores no han tenido asenso y la media de asenso es a los dos años y la desviación estandar muestra que los datos estan agrupados en un rango más alto lejos de la media. No existe suficiente evidencia estadistica para determinar que los asensos laborales en poco tiempo, inciden en la permanecia de los trabajadores H1 Rechazada |
|
| H6: Los trabajadores con menor ingreso mensual, tienden a rotar más en busca de mejores sueldos que aumente su calidad de vida. |
Los datos muestran que la mayoria de los trabajadores tienen un sueldo entre 2 millones y 6,5 millones, en promedio devengan 6,2 millones y el valor medio es de 5 millones indicador junto con la desviación estandar alta que los datos estan agrupados en rangos más altos. Los empleados que rotan tienen menor sueldo frente a los que no rotan, sin embargo existen valores atipicos con sueldos altos que tambien rotan, lo cual es significativo para determinar que el sueldo no es el unico factor determinante en la rotación. Existe suficiente evidencia estadistica para determinar que a menor sueldo hay incremento de la rotación H1 Aceptada |
Apesar que los datos no son totalmente conluyentes en realción del sueldo se pueden platear las siguientes estrategias
|