1 Ejercicio de análisis descriptivo con hipótesis Actividad 2

1.1 Descripión

Con base en los datos de rotación “Datos_Rotacion.xlsx” realizar los puntos 1 a 4:

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"

  1. Seleccionar 3 variables categóricas (distintas de rotación) y 3 variables cuantitativas, que consideren estén relacionadas con la rotación. Nota: Justificar por que estas variables están relacionadas y que tipo de relación se espera (Hipótesis). Ejemplo: Se espera que las horas extra se relacionen con la rotación ya que las personas podrían desgastarse mas al trabajar horas extra y descuidan aspectos personales. La hipótesis es que las personas que trabajan horas extra tienen mayor posibilidad de rotar que las que no trabajan extra. (serian 6, una por variable).
  2. Realizar un análisis univariado (caracterización). Nota: Los indicadores o gráficos se usan dependiendo del tipo de variable (cuanti o cuali). Incluir interpretaciones de la rotación.
  3. Realizar un análisis bivariado (siempre contra la rotación). Nota: Los indicadores y gráficos se usan dependiendo del tipo de variable (cuanti VS cuali, cuali VS cuali). Comparar los resultados con la hipótesis planteada inicialmente y determinar si los datos apoyan o no la hipótesis.
  4. En las conclusiones se discute sobre cual seria la estrategia para disminuir la rotación en la empresa. Ejemplo: Mejorar el ambiente laboral, los incentivos económicos, distribuir la carga de horas extra (menos turnos y mas personal).

1.2 Hipótesis

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.

1.3 Análisis exploratorio

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)

1.4 Análisis bivariado

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)

1.5 Conclusiónes y recomendaciones

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
  • Generar incentivos por estudios
  • Formalizar un plan de formación en la compañia
  • Mejorar los sueldos en todos los niveles de formación
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
  • Crear un plan de bienestar laboral
  • Implementar modalidades de trabajo hibridas
  • Brindar dos días a la semana para que los empleados trabajen en sus proyectos personales con recursos de la empresa
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
  • Análisis de funciones tecnicas para mejorar la carga laboral
  • Automatización de procesos, para que los empleados se dediquen a tareas más estrategicas
  • Politica de gestión de innovación que premie las mejores ideas de los empleados, para futuros proyectos
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
  • N/A
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
  • Aunque no es evidente en los datos, un buen plan de carrera y de asenso puede ser significativo en la permanencia de los empleados
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
  • Politica de incentivos monetarios por productividad
  • Implementación de un sistema de escalafón (estudio, antiguedad, otros)
  • Entregar bonos monetarios a fin de año o fechas especiales