# Instalamos las librerías
library(forecast)
library(reshape2)
library(stats)
library(ggplot2)
library(ggthemes)
library(ggrepel)
library(dplyr)
library(tidyr)
library(readxl)
library(reticulate)
library(plotly)
# CArga de datos
library(readxl)
dF<- read_excel("d:/mis documentos/METODOS ESTADISTICOS/Unidad2/Datos_Rotacion.xlsx")

“1. Seleccionar 3 variables categóricas (distintas de rotación) y 3 variables cuantitativas, que consideren estén relacionadas con la rotación. Nota: Justifi car 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).”

Basado en los datos y experiencias de rotaciones en el trabajo se plantean las siguientes hipotesis con las siguientes variables:

Variables Categoricas:

Hipotesis 1: Las personas que viajan frecuentemente tienden a rotar mas debido a que resulta un trabajo mas demandante en tiempo

Hipotesis 2: Las personas solteras tienen mayor rotación dado que su prioridad no es tener un trabajo estable

Hipotesis 3: Los cargos menos calificados como los tecnicos y los de area de ventas presentan mayor rotación

Variables númericas

Hipotesis1 : el factor salariar tiene alto impacto para retener a las personas en la empresa

Hipotesis 2: Cuanto mas distancia se tenga de la casa mayor rotación por los altos tiempos de desplazamiento

Hipotesis 3: Las personas con menos número de capacitación presentan mayor rotación.

  1. Realizar un análisis univariado (caracterización). Nota: Los indicadores o gráfi cos se usan dependiendo del tipo de variable (cuanti o cuali). Incluir interpretaciones de la rotación.
summary(dF)
##    Rotación              Edad       Viaje de Negocios  Departamento      
##  Length:1470        Min.   :18.00   Length:1470        Length:1470       
##  Class :character   1st Qu.:30.00   Class :character   Class :character  
##  Mode  :character   Median :36.00   Mode  :character   Mode  :character  
##                     Mean   :36.92                                        
##                     3rd Qu.:43.00                                        
##                     Max.   :60.00                                        
##  Distancia_Casa     Educación     Campo_Educación    Satisfacción_Ambiental
##  Min.   : 1.000   Min.   :1.000   Length:1470        Min.   :1.000         
##  1st Qu.: 2.000   1st Qu.:2.000   Class :character   1st Qu.:2.000         
##  Median : 7.000   Median :3.000   Mode  :character   Median :3.000         
##  Mean   : 9.193   Mean   :2.913                      Mean   :2.722         
##  3rd Qu.:14.000   3rd Qu.:4.000                      3rd Qu.:4.000         
##  Max.   :29.000   Max.   :5.000                      Max.   :4.000         
##     Genero             Cargo           Satisfación_Laboral Estado_Civil      
##  Length:1470        Length:1470        Min.   :1.000       Length:1470       
##  Class :character   Class :character   1st Qu.:2.000       Class :character  
##  Mode  :character   Mode  :character   Median :3.000       Mode  :character  
##                                        Mean   :2.729                         
##                                        3rd Qu.:4.000                         
##                                        Max.   :4.000                         
##  Ingreso_Mensual Trabajos_Anteriores Horas_Extra       
##  Min.   : 1009   Min.   :0.000       Length:1470       
##  1st Qu.: 2911   1st Qu.:1.000       Class :character  
##  Median : 4919   Median :2.000       Mode  :character  
##  Mean   : 6503   Mean   :2.693                         
##  3rd Qu.: 8379   3rd Qu.:4.000                         
##  Max.   :19999   Max.   :9.000                         
##  Porcentaje_aumento_salarial Rendimiento_Laboral Años_Experiencia
##  Min.   :11.00               Min.   :3.000       Min.   : 0.00   
##  1st Qu.:12.00               1st Qu.:3.000       1st Qu.: 6.00   
##  Median :14.00               Median :3.000       Median :10.00   
##  Mean   :15.21               Mean   :3.154       Mean   :11.28   
##  3rd Qu.:18.00               3rd Qu.:3.000       3rd Qu.:15.00   
##  Max.   :25.00               Max.   :4.000       Max.   :40.00   
##  Capacitaciones  Equilibrio_Trabajo_Vida   Antigüedad     Antigüedad_Cargo
##  Min.   :0.000   Min.   :1.000           Min.   : 0.000   Min.   : 0.000  
##  1st Qu.:2.000   1st Qu.:2.000           1st Qu.: 3.000   1st Qu.: 2.000  
##  Median :3.000   Median :3.000           Median : 5.000   Median : 3.000  
##  Mean   :2.799   Mean   :2.761           Mean   : 7.008   Mean   : 4.229  
##  3rd Qu.:3.000   3rd Qu.:3.000           3rd Qu.: 9.000   3rd Qu.: 7.000  
##  Max.   :6.000   Max.   :4.000           Max.   :40.000   Max.   :18.000  
##  Años_ultima_promoción Años_acargo_con_mismo_jefe
##  Min.   : 0.000        Min.   : 0.000            
##  1st Qu.: 0.000        1st Qu.: 2.000            
##  Median : 1.000        Median : 3.000            
##  Mean   : 2.188        Mean   : 4.123            
##  3rd Qu.: 3.000        3rd Qu.: 7.000            
##  Max.   :15.000        Max.   :17.000
## Estimadores estadisticos
library(ggpubr)
## 
## Attaching package: 'ggpubr'
## The following object is masked from 'package:forecast':
## 
##     gghistogram
## Histograma


g1= ggplot (dF, aes (x=`Viaje de Negocios`)) +geom_bar () +theme_bw ()
g2= ggplot (dF, aes (x=`Estado_Civil`)) +geom_bar () +theme_bw ()
g3= ggplot (dF, aes (x=`Cargo`)) +geom_bar () +theme_bw ()+
theme(axis.text.x = element_text(angle = 90))



ggplotly(g3)
##

Por lo que se puede ver en la anterior representation grafica los cargos Ejecutivo de ventas (326 personas), investigador cientifico (292 personas) y los tecnicos de laboratorio (259 personas) constituyen el core del negocio al tener la mayor representación en la muestra. Se espera que cualquier alto grado de rotación en estas areas seria un gran problema para el negocio para mantener el conocimiento productivo de la compañia.

ggarrange(g1, g2,labels = c ("A", "B","C"),ncol = 2, nrow = 1)

Con la variable Viaje de negocio se puede ver que los viajes frecuentes no es lo mas comun dentro del nogocio, por lo que si se encuentra una alta rotación producto de viajes frecuentes, las estrategias a implementar seria enfocada a una población pequeña.

Las proporciones entre casados y no casados son muy similares,hay que nalizar estos dos grupos para identificar si la rotación se concentra en alguno de ellos

g4= ggplot (dF, aes(x=Ingreso_Mensual)) +geom_histogram () +theme_bw ()

ggplotly(g4)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

La mediana de los ingresos mensuales es de 4919, lo cual se puede evidenciar en la grafica donde se ve una alta concentración de datos con ingresos menores a 5000, para valores mayores a 5000 la desperción es mayor, por lo que se espera que estos salarios correspondan a los cargos de mayot rango, de acuerdo a nuestras hipotesis los de menor rotación.

g5= ggplot (dF, aes(x=Distancia_Casa)) +geom_histogram () +theme_bw ()

ggplotly(g5)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

El 75% de los datos de distancia son inferiores a 14 y se presenta una alta dispeción de los datos, lo cual representaria un gran desafio identificar correlaciónar la distancia con la rotación

g6= ggplot (dF, aes(x=Capacitaciones)) +geom_bar () +theme_bw ()

ggplotly(g6)

Se evidencia un fuerte enfoque a la capacitación, concentrandose en su mayoria entre 2 y 3 capacitaciones, con esta grafica podriamos ir obteniendo información para desmentir la hipotesis inicial de que la capacitación sea una variable influenciadora para la rotación.

  1. Realizar un análisis bivariado (siempre contra la rotación). Nota: Los indicadores y gráfi cos 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.
g7=ggplot(dF,aes(x=Rotación,y=Ingreso_Mensual,fill=Rotación))+geom_boxplot()+theme_bw()
require(plotly)
ggplotly(g7)
ggplot(dF, aes(x=Ingreso_Mensual, color=Rotación)) +
  geom_histogram(fill="white")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Este analisis nos permite inferir que efectivamente las personas con rotación en el trabajo presentan menores salarios.El tercer cuartil de los salarios de los que presentaron rotación son inferiores a 5935, muy cercano a la mediana de toda la muestra. Lo cual implicaria una estrategia amplia de población, habria que contratarla con otras variables con el fin de poder focalizar esfuerzos.

g8=ggplot(dF,aes(x=Rotación,y=Distancia_Casa,fill=Rotación))+geom_boxplot()+theme_bw()
require(plotly)
ggplotly(g8)

Si bien la distancia del trabajo a la casa es mayor para los que presenta rotación la diferencia con los que no rotan no es conciderable como para conciderarla como una variable de alta influencia.

g9=ggplot(dF,aes(x=Rotación,y=Capacitaciones,fill=Rotación))+geom_boxplot()+theme_bw()
require(plotly)
ggplotly(g9)

Con este resultado se descarta que la capacitación sea un factor a considerar para reducir la rotación de las personas.

#tapply(dF$Ingreso_Mensual, datos$Rotación, mean,na.rm=TRUE)
library(CGPfunctions)
PlotXTabs2(dF, `Viaje de Negocios`,Rotación,plottype = "percent")

PlotXTabs2(dF, `Estado_Civil`,Rotación,plottype = "side")

Efectivamente confirmamos la hipotesis de que los solteros presentan mayor rotación, en parte porque no buscan estabilidad al no tener un hogar constituido.

PlotXTabs2(dF, `Cargo`,Rotación,plottype = "percent",
           x.axis.orientation ="vertical")

## Con esta grafica podemos validar la hipotesis de que el cargo tecnico de laboratorio que es uno de los que mas tiene la empresa , es uno de los cargos que presenta mayor rotación con un 24 %. La idea es focalizar esfuerzos para reducir la rotación de este personal dado que constituyen un cargo importante para la compañia.

  1. 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).

Basado en los resultados del análisis exploratorio de los datos la estrategia se plantea una estrategia sobre el personal técnico de laboratorio, realizando aumento salarial a este cargo. Dado que se puede observar que es uno de los cargos con mayor rotación y que más participación tiene en la compañía.

Por otro lado, se plantea beneficios para los solteros tales como permitirles afiliar a sus padres a programas de salud prepagada cuando no tienen hijos.

Bonificaciones a las personas que viajan frecuentemente, teniendo en cuenta los viáticos ganados como variables para liquidar un valor adicional a la prima legal.