1. Selección de variables y creación de hipótesis considerando relación con la variable rotación:

    Variables categóricas:

    • Frecuencia de viaje de negocios (Frecuentemente, Raramente, No viaja).
    • Estado civil (Casado, Soltero, Divorciado).
    • Horas extra (Si, No).

    Variables cuantitativas:

    • Distancia a Casa (km).
    • Ingreso Mensual ($).
    • Porcentaje aumento salarial (%).

    Hipótesis:

    • Las personas con mayor frecuencia de viajes tienen mayor posibilidad de rotar por efectos de cansacio.
    • Las personas con estado civil Soltero tienen mayor posibilidad de rotar que las personas casadas ya que lo ultimo involucra una mayor responsabilidad.
    • Las personas que trabajan horas extra tienen mayor posibilidad de rotar que las que no trabajan extra, ya que no tienen suficiente tiempo libre.
    • Las personas que viven mas distantes de casa tienen mayor posibilidad de rotar debido al estrés que genrera el trafico.
    • Entre menor ingreso mensual, mayor posibilidad de rotar, ya que las personas quieren aumentar sus ingresos.
    • Entre menor porcentaje de aumento salarial, mayor posibilidad de rotar, las personas quieren crecimiento económico.
  2. Análisis univariado

library(readxl)
datos <- read_excel("D:/ESTUDIO/MASTER IN DATA SCIENCE/Semester 1/METODOS Y SIMULACION ESTADISTICA/MOD 1/Actividad_2/Datos_Rotacion.xlsx")

require(ggplot2)
require(ggpubr)

# VARIABLE ROTACIÓN:
g=ggplot(datos,aes(x=datos$Rotación))+geom_bar()+theme_bw()
participacion_rot = prop.table(table(datos$Rotación))*100
g

#Se evidencia que el 84% de los usuarios no han rotado, mientras que el 16% si lo han hecho:
participacion_rot
## 
##       No       Si 
## 83.87755 16.12245
#VARIABLES CATEGÓRICAS:
g1=ggplot(datos,aes(x=`Viaje de Negocios`))+geom_bar()+theme_bw()
g2=ggplot(datos,aes(x=Estado_Civil))+geom_bar()+theme_bw()
g3=ggplot(datos,aes(x=Horas_Extra))+geom_bar()+theme_bw()

Frecuencia_viaje = prop.table(table(datos$`Viaje de Negocios`))*100
Estado_civil = prop.table(table(datos$Estado_Civil))*100
Horas_Extra = prop.table(table(datos$Horas_Extra))*100

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

#En general el 71% los usuarios raramente viajan, el 10% no viaja y el 19% viaja frecuentemente:
Frecuencia_viaje 
## 
## Frecuentemente       No_Viaja      Raramente 
##       18.84354       10.20408       70.95238
#El 46% de los usuarios está casado, el 22% divorciado, mientras que los solteros componen el 32%.
Estado_civil 
## 
##     Casado Divorciado    Soltero 
##   45.78231   22.24490   31.97279
#El 72% de los usuarios no hace horas extra, mientras que el 28% si. 
Horas_Extra
## 
##       No       Si 
## 71.70068 28.29932
#VARIABLES CUANTITATIVAS:
#Gráficos
g4=ggplot(datos,aes(x=Distancia_Casa))+geom_histogram()+theme_bw()
g5=ggplot(datos,aes(x=Ingreso_Mensual))+geom_histogram()+theme_bw()
g6=ggplot(datos,aes(x=Porcentaje_aumento_salarial))+geom_histogram()+theme_bw()

#Estadísticas Distancia_Casa
media_distancia = mean(datos$Distancia_Casa)
mediana_distancia = median(datos$Distancia_Casa)
desviacion_distancia = sd(datos$Distancia_Casa)
min_distancia = min(datos$Distancia_Casa)
max_distancia = max(datos$Distancia_Casa)
data_Distancia = data.frame(media_distancia,mediana_distancia, desviacion_distancia, min_distancia, max_distancia)

#Estadísticas Ingreso Mensual
media_ingreso = mean(datos$Ingreso_Mensual)
mediana_ingreso = median(datos$Ingreso_Mensual)
desviacion_ingreso = sd(datos$Ingreso_Mensual)
min_ingreso = min(datos$Ingreso_Mensual)
max_ingreso = max(datos$Ingreso_Mensual)
data_ingreso = data.frame(media_ingreso,mediana_ingreso, desviacion_ingreso, min_ingreso, max_ingreso)

#Estadísticas Porcentaje aumento salarial
media_aumento = mean(datos$Porcentaje_aumento_salarial)
mediana_aumento = median(datos$Porcentaje_aumento_salarial)
desviacion_aumento = sd(datos$Porcentaje_aumento_salarial)
min_aumento = min(datos$Porcentaje_aumento_salarial)
max_aumento = max(datos$Porcentaje_aumento_salarial)
data_aumento = data.frame(media_aumento,mediana_aumento, desviacion_aumento, min_aumento, max_aumento)

ggarrange(g4, g5, g6,labels = c("A", "B", "C"),ncol = 3, nrow = 1)

#En cuanto a distancia, se observa que la mayoría de los datos se distribuyen en el rango de 1 a 10 kilómetros, con una mediana de 7 kilómetros. 
data_Distancia
media_distancia mediana_distancia desviacion_distancia min_distancia max_distancia
9.192517 7 8.106864 1 29
#En cuanto al ingreso, se observa que la mayoría de datos se distribuyen alrededor de $4919
data_ingreso
media_ingreso mediana_ingreso desviacion_ingreso min_ingreso max_ingreso
6502.931 4919 4707.957 1009 19999
#En cuanto al porcentaje de aumento salarial, se observa que la mayoría de los datos se distribuyen alrededor del 14% 
data_aumento
media_aumento mediana_aumento desviacion_aumento min_aumento max_aumento
15.20952 14 3.659938 11 25
  1. Análisis Bivariado de las variables iniciales vs variable rotación.
require(CGPfunctions)
require(ggpubr)
require(plotly)

g1=PlotXTabs2(datos, `Viaje de Negocios`,Rotación, plottype ="percent")
g2=PlotXTabs2(datos,Estado_Civil,  Rotación, plottype = "percent" )
g3=PlotXTabs2(datos, Rotación, Horas_Extra, plottype ="percent")

#Hipótesis: Las personas con mayor frecuencia de viajes tienen mayor posibilidad de rotar por efectos de cansancio. El 25% de las personas que viajan frecuentemente si rotan, y la proporción es mayor que las que no viajan(8%) o lo hacen raramente (15%). Por tanto la hipótesis se cumple. 
g1

#Hipótesis: Las personas con estado civil Soltero tienen mayor posibilidad de rotar que las personas casadas ya que lo ultimo involucra una mayor responsabilidad. El 26% de las personas con estado civil soltero si rotan, y la proporción es mayor que las casadas (12%) y las divorciadas (10%). Por tanto la hipótesis se cumple. 
g2

#Hipótesis: Las personas que trabajan horas extra tienen mayor posibilidad de rotar que las que no trabajan extra, ya que no tienen suficiente tiempo libre. El 54% de las personas que hacen horas extra si rotan, esta proporción es mayor a las personas que rotan y no hacen horas extra (23%). Por tanto la hipótesis se cumple. 
g3

    ##- 
    ##- Entre menor porcentaje de aumento salarial, mayor posibilidad de rotar, las personas quieren crecimiento económico.


g4=ggplot(datos,aes(x=Rotación, y=Distancia_Casa, fill=Rotación))+geom_boxplot()+theme_bw()
g5=ggplot(datos,aes(x=Rotación, y=Ingreso_Mensual, fill=Rotación))+geom_boxplot()+theme_bw()
g6=ggplot(datos,aes(x=Rotación, y=Porcentaje_aumento_salarial, fill=Rotación))+geom_boxplot()+theme_bw()

#Hipótesis: Las personas que viven mas distantes de casa tienen mayor posibilidad de rotar debido al estrés que genera el trafico. Las personas que si rotan tienen una mediana de distancia (9km) mayor a la mediana de las personas que no rotan (7km). Por tanto la hipótesis se cumple.
ggplotly(g4)
#Hipótesis: Entre menor ingreso mensual, mayor posibilidad de rotar, ya que las personas quieren aumentar sus ingresos. Las personas que si rotan tienen una mediana de ingreso de $3202, menor  a la mediana de las personas que no rotan equivalente a $5204. Por tanto la hipótesis se cumple.
ggplotly(g5)
#Hipótesis: Entre menor porcentaje de aumento salarial, mayor posibilidad de rotar, las personas quieren crecimiento económico. La mediana entre del porcentaje de aumento entre las personas que rotan y las que no lo haces es igual: 14%, ademas, el rango intercuartil es muy similar. Por tanto, no se puede asegurar que la hipótesis se cumple. 
ggplotly(g6)
  1. ¿Cómo disminuir la tasa de rotación en la empresa?:

    Recomendaciones:

    • Disminuir la frecuencia de viajes de negocio para minimizar el cansancio percibido.
    • Actividades que permitan integrar a los empleados; esto puede mejorar el estado de animo de las personas y tal vez generar futuras relaciones y así reducir la cantidad de personas con estado civil: soltero.
    • Reducir la cantidad de horas extra o dividirlas entre más personas para que los trabajadores puedan tener mayor tiempo libre.
    • Incentivar el trabajo remoto, para evitar estrés por desplazamiento desde la casa al trabajo.
    • Aumentar el ingreso mensual para evitar que los trabajadores busquen nuevas oportunidades mejor remuneradas.