Por: Diana Carolina Ramos Moya & Leonardo Andres Palacios Cordoba
Para iniciar se procede con la carga de los datos
library(readxl)
datos <- read_excel("C:/Users/ACER/Desktop/Datos_Rotacion.xlsx")
Categóricas:
Hipótesis: Las personas que viajan frecuentemente tienen mayor posibilidad de rotar que quienes no lo hacen.
Hipótesis: Las personas que trabajan en ventas tienen mayor posibilidad de rotar que las personas que se encuentran en otros departamentos.
Hipótesis: Las personas solteras tienen mayor posibilidad de rotar que quienes son casados o divorciados.
Puntuales:
Hipótesis: Las personas con menos cantidad de trabajos tienen menor posibilidad de rotar que las personas que tienen mayor cantidad de trabajos anteriores.
Hipótesis: Las personas con menores ingresos tienen mayor posibilidad de rotar que las personas que cuentan con un salario más alto.
Hipótesis: Las personas con menor cantidad tiempo de antigüedad tienen mayor posibilidad de rotar que quienes han estado por más tiempo en la compañía.
viaja <- c('Frecuentemente','No viaja','Raramente')
etiquetap <- paste0(viaja," = ",round(100*table(datos$`Viaje de Negocios`)/nrow(datos),0),"%")
pie(table(datos$`Viaje de Negocios`),labels = etiquetap,col = rainbow(3))
title(main = "Participación viajes de negocio")
La mayoría del personal que conforma la base de datos raramente debe viajar.
barras1 <- barplot(table(datos$Estado_Civil),col=c("orange","blue","purple"),
legend.text=c("Casado","Divorciado","Soltero"),ylim=c(0,1000),ylab ="Frecuencias Absolutas")
title(main = "Distribución estado civil")
El estado civil con mayor repetición es: casado, el de menor es: divorciado.
deptos <- c('IyD','RH','ventas')
etiqueta2 <- paste0(deptos," = ",round(100*table(datos$Departamento)/nrow(datos),0),"%")
pie(table(datos$Departamento),labels = etiqueta2, col = topo.colors(3))
title(main = "Distribución tipo de Departamento de trabajo")
El área con mayor cantidad de personal es IyD, seguida de ventas y finalmente, la más pequeña es RH.
library(ggplot2)
ggplot(datos,aes(x=Trabajos_Anteriores))+geom_histogram(binwidth=1,aes(fill=..count..))+theme() + xlab('Trabajos anteriores')+ ylab('Cantidad')+ggtitle("Histograma Trabajos anteriores")
La ditribución de los trabajos anteriores presenta una asimetría positiva, ya que la cola de la distribución se alarga para valores superiores a la media, con una baja concentración de los datos. En su gran mayoria los coloaboradores han tenido 2 trabajos.
hist(datos$Ingreso_Mensual,xlab = "Ingresos mensuales", ylab = "Frecuencia",main ="Histograma ingresos mensuales", col = "lightblue")
grid(nx = NA, ny = NULL, lty = 2, col = "gray", lwd = 1)
Según la gráfica se observa que la mayoría devengan menos de 5’000.000
barplot(table(datos$Antiguedad),xlab = "Antigüedad", ylab = "Cantidad",main ="Distribución Antigüedad", col = topo.colors(37))
Con respecto a la antiguedad, los años que más se repiten son 5. A partir de los 10 años la cantidad de personas cae drásticamente.
y <- table1::table1(~ `Viaje de Negocios`+Departamento+Estado_Civil+Trabajos_Anteriores+Ingreso_Mensual+Antiguedad | Rotacion,data = datos)
y
| No (N=1233) |
Si (N=237) |
Overall (N=1470) |
|
|---|---|---|---|
| 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%) |
| Departamento | |||
| IyD | 828 (67.2%) | 133 (56.1%) | 961 (65.4%) |
| RH | 51 (4.1%) | 12 (5.1%) | 63 (4.3%) |
| Ventas | 354 (28.7%) | 92 (38.8%) | 446 (30.3%) |
| 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%) |
| Trabajos_Anteriores | |||
| Mean (SD) | 2.65 (2.46) | 2.94 (2.68) | 2.69 (2.50) |
| Median [Min, Max] | 2.00 [0, 9.00] | 1.00 [0, 9.00] | 2.00 [0, 9.00] |
| Ingreso_Mensual | |||
| Mean (SD) | 6830 (4820) | 4790 (3640) | 6500 (4710) |
| Median [Min, Max] | 5200 [1050, 20000] | 3200 [1010, 19900] | 4920 [1010, 20000] |
| Antiguedad | |||
| Mean (SD) | 7.37 (6.10) | 5.13 (5.95) | 7.01 (6.13) |
| Median [Min, Max] | 6.00 [0, 37.0] | 3.00 [0, 40.0] | 5.00 [0, 40.0] |
La tabla nos muestra un resumen de las variables categóricas y puntuales. Para el primer grupo nos muestra un conteo de cada resultado con su respectiva participación porcentual. Por otro lado, en el caso de las variables cuantitativas obtenemos un zoom de medidas de tendenia central.
require(CGPfunctions)
## Loading required package: CGPfunctions
PlotXTabs2(data = datos,x = `Viaje de Negocios`,y = Rotacion)
A simple vista pareciera que el mayor porcentaje de quienes rotaron viajaban frecuentemente.
require(CGPfunctions)
PlotXTabs2(data = datos,x = Departamento,y = Rotacion)
A simple vista pareciera que el mayor porcentaje de quienes rotaron pertenecen al área de ventas pero se distancia tan solo dos puntos del área de RH y siete de IyD.
require(CGPfunctions)
PlotXTabs2(data = datos,x = Estado_Civil,y = Rotacion)
A simple vista pareciera que el mayor porcentaje de quienes rotaron eran solteros.
datos$Trabajo_grupo=cut(datos$Trabajos_Anteriores,breaks = c(0,2,4,6,8,10))
require(CGPfunctions)
PlotXTabs2(data = datos,x = Trabajo_grupo,y = Rotacion)
A simple vista pareciera que tienen mayor posibilidad de rotar aquellas personas que han tenido desde 5 trabajos en adelante.
datos$Ingreso_grupo=cut(datos$Ingreso_Mensual,breaks = c(0,5000,10000,15000,20000))
require(CGPfunctions)
PlotXTabs2(data = datos,x = Ingreso_grupo,y = Rotacion)
A simple vista parece que a menor salario mayor rotación.
datos$Antiguedad_grupo=cut(datos$Antiguedad,breaks = c(0,10,20,30,40))
require(CGPfunctions)
PlotXTabs2(data = datos,x = Antiguedad_grupo,y = Rotacion)
Contrario a lo que se pensaba al inicio, quienes más rotan son quienes llevan mayor antiguedad (30-40), le siguen los más nuevos (0-10) y las menores tasas se presentan en el grupo de los (10-30)
datos$rotacion2 <- ifelse(datos$Rotacion == "Si",1,0)
plot(datos$Antiguedad,datos$rotacion2,xlab = "Antigüedad", ylab = "Rotación",main ="Gráfico de dispersión Antigüedad vs Rotación")
plot(datos$Ingreso_Mensual,datos$rotacion2,xlab = "Ingreso Mensual", ylab = "Rotación",main ="Gráfico de dispersión Ingreso Mensual vs Rotación")
plot(datos$Trabajos_Anteriores,datos$rotacion2,xlab = "Trabajos Anteriores", ylab = "Rotación",main ="Gráfico de dispersión Trabajos Anteriores vs Rotación")
library(psych)
##
## Attaching package: 'psych'
## The following objects are masked from 'package:ggplot2':
##
## %+%, alpha
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
correlacion <- select(datos,Ingreso_Mensual,Trabajos_Anteriores,Antiguedad,rotacion2)
corPlot(correlacion, cex = 1.5,min.length = 12,scale = FALSE, main = "Matriz de correlación")
Frente a un análisis preliminar de las correlaciones se encuentran valores cercanos al cero por lo que se recomienda realizar otro tipo de pruebas al contar con una variable dicotómica y otra continua. Por el momento, la relación con la trabajos anteriores es posititva débil y la relación con respecto al ingreso y la antiguedad son negativas débiles.Teniendo en cuenta esto, es importante estudiar más a detalle cada variable cuantitativa para determinar la influencia sobre la rotación.
En el punto tres se encuentra que las variables: Viaje de negocios (frecuentemente), estado civil (soltero), trabajos anteriores (de 5 en adelante), ingreso mesual (de 0 a 5 millones) y antiguedad (más de 30 años) son las que más podrían estar influyendo en la rotación. Por tanto las estrategias serían las siguientes: