La siguiente actividad consiste en realizar un analisis de una base de datos de una compañía que presenta una situación de alta rotación (personas que se retiran de manera voluntaria) en algunos empleados, 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 cree relaciones entre factores previamente identificados con la rotación y finalmente con estos factores, proponer una estrategia para mejorar las cifras de rotación. Con base en los datos de rotación realizar los puntos 1 a 4:
Iniciaremos este documento con el importe de la base de datos de rotación y las librerias a utilizar :
library (ggplot2)
library (ggpubr)
library(CGPfunctions)
## Warning in .recacheSubclasses(def@className, def, env): undefined subclass
## "packedMatrix" of class "replValueSp"; definition not updated
## Warning in .recacheSubclasses(def@className, def, env): undefined subclass
## "packedMatrix" of class "mMatrix"; definition not updated
library(dplyr)
library(readxl)
datos <- read_excel("C:/Users/HP/Desktop/Maestría Ciencias de Datos/Metodos y simulación estadística/Datos_Rotacion.xlsx")
View(datos)
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 qué 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).
Las variables a escoger para analizar la relación con la rotación, serán las siguientes con sus respectivas hipótesis:
Variables categóricas
| Nombre de la variable | Hipótesis planteada |
|---|---|
| 1) Género | Se plantea la hipótesis de que el género está relacionado con la rotación. Se piensa que las mujeres podrían presentar una alta rotación debido a la diferencia salarial que puede haber con respecto a los hombres. |
| 2)Satisfación_Laboral | Se plantea la hipótesis de que la satisfacción laboral está relacionada con la rotación. Se piensa que las personas con menor satisfacción laboral tienden a rotar más que las personas con mayor satisfacción laboral, debido a la inconformidad presentada en el trabajo. |
| 3) Estado_Civil | Se plantea la hipótesis de que el estado civil está relaciona con la rotación. Se piensa que las personas solteras tienen una mayor rotación debido a la menor necesidad de tener estabilidad laboral y mayor dinamismo en el estilo de vida. |
Variables cuantitativas
| Nombre de la variable | Hipótesis planteada |
|---|---|
| 4) Trabajos_Anteriores | Se plantea la hipótesis de que el número de trabajos anteriores está relacionado con la rotación. Se piensa que las personas con mayor número de trabajos anteriores son mas propensas a rotar debido a su historial de alta rotación. |
| 5) Ingreso_Mensual | Se plantea la hipótesis de que los ingresos mensuales está relacionados con la rotación. Se piensa que las personas con mayores ingresos tienen menos rotación debido a la buena posición a la que han llegado en la empresa. |
| 6) Edad | Se plantea la hipótesis de que la edad está relacionada con la rotación. Se piensa que las personas de mayor edad tienden a rotar menos que las personas de menor edad debido a que las primeras prefieren mayor estabilidad. |
Realizar un análisis univariado (caracterización). Nota: Los indicadores o gráficos se usan dependiendo del tipo de variable (cuanti o cuali).
Variables categóricas
1) Genero
Analisis univariado:
y <- table1::table1(~Genero, data = datos)
y
| Overall (N=1470) |
|
|---|---|
| Genero | |
| F | 588 (40.0%) |
| M | 882 (60.0%) |
El set de datos esta compuesto por 60% mujeres y 40% hombres.
2)Satisfación_Laboral
Análisis univariado:
table(datos$Satisfación_Laboral)
##
## 1 2 3 4
## 289 280 442 459
y <- table(datos$Satisfación_Laboral)
prop.table(y)
##
## 1 2 3 4
## 0.1965986 0.1904762 0.3006803 0.3122449
x <- table(datos$Satisfación_Laboral)
barplot.default(x, main = "Satisfación laboral", col = 1:4)
Se puede decir que el 61% de los empleados tiene una satisfacción
favorable de 3 o 4, mientras que un 39% tiene una satisfacción
desfaborable de 1 o 2.
3) Estado_Civil
Análisis univariado:
table(datos$Estado_Civil)
##
## Casado Divorciado Soltero
## 673 327 470
y <- table(datos$Estado_Civil)
prop.table(y)
##
## Casado Divorciado Soltero
## 0.4578231 0.2224490 0.3197279
x <- table(datos$Estado_Civil)
pie(x, main = "Distribución de estado civil" )
La mayoría de los empleados (un 46%) se encuentran casados.
Variables cuantitativas
4) Trabajos_Anteriores
Análisis univariado:
table(datos$Trabajos_Anteriores)
##
## 0 1 2 3 4 5 6 7 8 9
## 197 521 146 159 139 63 70 74 49 52
prop.table(table(datos$Trabajos_Anteriores))
##
## 0 1 2 3 4 5 6
## 0.13401361 0.35442177 0.09931973 0.10816327 0.09455782 0.04285714 0.04761905
## 7 8 9
## 0.05034014 0.03333333 0.03537415
summary(datos$Trabajos_Anteriores)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 1.000 2.000 2.693 4.000 9.000
el 35% de los trabajadores ha tenido un trabajo anterior al que tienen actualmente, adicional a esto la media de trabajos anteriores es de 2.7
5) Ingreso_Mensual
Análisis univariado:
hist.default(datos$Ingreso_Mensual, main = "Histograma de Ingresos Mensuales", col = "lightblue", xlab= "Ingresos Mensuales")
summary(datos$Ingreso_Mensual)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1009 2911 4919 6503 8379 19999
La distribución de los ingresos mensuales es sesgada a la derecha con una media de $6503
6) Edad
Análisis univariado:
hist.default(datos$Edad, main = "Histograma de Edad", col = "lightblue", xlab= "Edad de los empleados")
summary(datos$Edad)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 18.00 30.00 36.00 36.92 43.00 60.00
La edad de los empleados presenta una distribución aproximadamente simétrica con una media de 37 años.
Realizar un análisis de bivariado en donde la variable respuesta sea la rotación, con base en estos resultados identifique cuales son las variables determinantes de la rotación e interpretar. Compare estos resultados con la hipotesis planteada en el punto 1.
Variables categóricas
1) Genero
Análisis de bivariado:
require(CGPfunctions)
PlotXTabs2(data = datos,x = Genero, y = Rotación)
De las estadísticas anteriores podemos resumir que el 14.8% de las mujeres han rotado, mientras que los hombres tienen un porcentaje de rotación del 17%. Para verificar si hay evidencia suficiente para concluir no homogeneidad en la distribucíon de rotación por genero se ejecuta un test chicuadrado, el cual concluye con un p value de 0.2906, que las distribuciones son homogeneas. No hay diferencia en la rotación por género.
2)Satisfación_Laboral
Análisis de bivariado:
data <- data.frame(datos$Satisfación_Laboral, datos$Rotación)
table(data)
## datos.Rotación
## datos.Satisfación_Laboral No Si
## 1 223 66
## 2 234 46
## 3 369 73
## 4 407 52
prop.table(table(data), margin= 1)
## datos.Rotación
## datos.Satisfación_Laboral No Si
## 1 0.7716263 0.2283737
## 2 0.8357143 0.1642857
## 3 0.8348416 0.1651584
## 4 0.8867102 0.1132898
PlotXTabs2(data = datos,x = Satisfación_Laboral , y = Rotación)
De estos resultados, podemos concluir que la rotación si se ve influenciada por el nivel de satisfacción laboral, esto se puede soportar con el p value de la prueba chi cuadra p = 0.0005563; De la grafica podemos intuir que a medida que los niveles de satisfacción son mas altos, la proporción es menor.
3) Estado_Civil
Análisis de bivariado:
data <- data.frame(datos$Estado_Civil, datos$Rotación)
table(data)
## datos.Rotación
## datos.Estado_Civil No Si
## Casado 589 84
## Divorciado 294 33
## Soltero 350 120
prop.table(table(data), margin= 1)
## datos.Rotación
## datos.Estado_Civil No Si
## Casado 0.8751857 0.1248143
## Divorciado 0.8990826 0.1009174
## Soltero 0.7446809 0.2553191
chisq.test(datos$Estado_Civil, datos$Rotación)
##
## Pearson's Chi-squared test
##
## data: datos$Estado_Civil and datos$Rotación
## X-squared = 46.164, df = 2, p-value = 9.456e-11
PlotXTabs2(data = datos,x = Estado_Civil , y = Rotación)
De los resultados anteriores, podemos concluir que si hay diferencia
significativa en la rotación por estado civil. De la gráfica podemos
intuir que las personas solteras tienden a rotar más que las personas
casadas o divorciadas.
Variables cuatitativas
4) Trabajos_Anteriores
Análisis de bivariado:
data <- data.frame(datos$Trabajos_Anteriores, datos$Rotación)
x <- prop.table(table(data), margin = 1)
x
## datos.Rotación
## datos.Trabajos_Anteriores No Si
## 0 0.8832487 0.1167513
## 1 0.8119002 0.1880998
## 2 0.8904110 0.1095890
## 3 0.8993711 0.1006289
## 4 0.8776978 0.1223022
## 5 0.7460317 0.2539683
## 6 0.7714286 0.2285714
## 7 0.7702703 0.2297297
## 8 0.8775510 0.1224490
## 9 0.7692308 0.2307692
plot(x[,2], xlab = "Numero de trabajos anteriores", ylab = "Proporción de rotación") #Graficando la proporción de rotación vs el número de trabajos anteriores
De los resultados anteriores se puede concluir que no existe una relación clara entre el numero de trabajos anteriores y la rotación.
5) Ingreso_Mensual
Análisis de bivariado:
Antes de iniciar el analisis bivariado se debe conocer el resumen de los ingresos para saber los limites en que se va a agrupar esta variable continua.
summary(datos$Ingreso_Mensual)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1009 2911 4919 6503 8379 19999
library(readxl)
datos <- read_excel("C:/Users/HP/Desktop/Maestría Ciencias de Datos/Metodos y simulación estadística/Datos_Rotacion.xlsx")
View(datos)
K = (19999-10009)/4
datos$Ingreso_Mensual = cut(datos$Ingreso_Mensual,breaks = seq(1009,19999, by = K))
data <- data.frame(datos$Ingreso_Mensual , datos$Rotación)
prop.table(table(datos$Ingreso_Mensual, datos$Rotación), margin = 1 )
##
## No Si
## (1.01e+03,3.51e+03] 0.73206751 0.26793249
## (3.51e+03,6e+03] 0.88382688 0.11617312
## (6e+03,8.5e+03] 0.89340102 0.10659898
## (8.5e+03,1.1e+04] 0.82638889 0.17361111
## (1.1e+04,1.35e+04] 0.91836735 0.08163265
## (1.35e+04,1.6e+04] 0.92500000 0.07500000
## (1.6e+04,1.85e+04] 1.00000000 0.00000000
chisq.test(datos$Ingreso_Mensual, datos$Rotación)
##
## Pearson's Chi-squared test
##
## data: datos$Ingreso_Mensual and datos$Rotación
## X-squared = 67.201, df = 6, p-value = 1.531e-12
q <- PlotXTabs2(data = datos,x = Ingreso_Mensual,y = Rotación, label.text.size = 3)
q + theme(axis.text.x = element_text(angle = 40, vjust = 1, hjust=1, size=9, face="plain"))
Después de la agrupación de los ingresos, podemos identificar graficamente que si existe una diferencia en la participación de la rotación segun el ingreso laboral. Esto lo podemos confirmar con el test chi cuadrado el cual rechaza la hipotesis de homogeneidad en la distribución, luego el ingreso si es una variable significativa en la rotación.
6) Edad
Análisis de bivariado:
summary(datos$Edad)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 18.00 30.00 36.00 36.92 43.00 60.00
library(readxl)
datos <- read_excel("C:/Users/HP/Desktop/Maestría Ciencias de Datos/Metodos y simulación estadística/Datos_Rotacion.xlsx")
View(datos)
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 between group No and group Si 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
K = (60-18)/6
datos$Edad = cut(datos$Edad,breaks = seq(18,60, by = K))
data <- data.frame(datos$Edad , datos$Rotación)
prop.table(table(datos$Edad, datos$Rotación), margin = 1)
##
## No Si
## (18,25] 0.65217391 0.34782609
## (25,32] 0.78371501 0.21628499
## (32,39] 0.88194444 0.11805556
## (39,46] 0.90425532 0.09574468
## (46,53] 0.87581699 0.12418301
## (53,60] 0.87356322 0.12643678
chisq.test(datos$Edad, datos$Rotación)
##
## Pearson's Chi-squared test
##
## data: datos$Edad and datos$Rotación
## X-squared = 56.132, df = 5, p-value = 7.633e-11
El primer Welch two sample t-test concluye que la media de la edad en empleados que rotan y los que no, es diferente. Graficamente se puede concluir que los empleados de menor edad tienden a tener una mayor rotación que los empleados de mayor edad. Esto se puede sustentar con el chi- test ejecutado, el cual soporta la hipótesis de que la edad es una variable significativa en la rotación.
En las conclusiones se discute sobre cual seria la estrategia para disminuir la rotación en la empresa (con base en las variables que resultaron significativas en el punto 3).
Del análisis de los resultados del punto 3 se pueden extraer las siguientes conclusiones y estrategias con el fin de reducir la rotación en la compañía:
Generar estrategias corporativas de la mano con recursos humanos para mejorar la satisfacción laboral que tienen los empleados de la compañia.
Dado a que las personas solteras y con menor edad tiende a tener una mayor rotación, se recomienda tener preferencia por las personas casadas y de mayor edad en los procesos de contratación, por supuesto teniendo en cuenta los impactos que esta estrategia podria tener.
Se demostró que los ingresos mensuales son significativos en la rotación, la mejoría salarial de los cargos con menores ingresos puede reducir la rotación de los empleados.
Por otro lado se demostró que el género y el numero de trabajos anteriores no son variables significativas que justifiquen la rotación.