print(rotacion)
## # A tibble: 1,470 × 24
##    Rotación  Edad `Viaje de Negocios` Departamento Distancia_Casa Educación
##    <chr>    <dbl> <chr>               <chr>                 <dbl>     <dbl>
##  1 Si          41 Raramente           Ventas                    1         2
##  2 No          49 Frecuentemente      IyD                       8         1
##  3 Si          37 Raramente           IyD                       2         2
##  4 No          33 Frecuentemente      IyD                       3         4
##  5 No          27 Raramente           IyD                       2         1
##  6 No          32 Frecuentemente      IyD                       2         2
##  7 No          59 Raramente           IyD                       3         3
##  8 No          30 Raramente           IyD                      24         1
##  9 No          38 Frecuentemente      IyD                      23         3
## 10 No          36 Raramente           IyD                      27         3
## # ℹ 1,460 more rows
## # ℹ 18 more variables: Campo_Educación <chr>, Satisfacción_Ambiental <dbl>,
## #   Genero <chr>, Cargo <chr>, Satisfación_Laboral <dbl>, Estado_Civil <chr>,
## #   Ingreso_Mensual <dbl>, Trabajos_Anteriores <dbl>, Horas_Extra <chr>,
## #   Porcentaje_aumento_salarial <dbl>, Rendimiento_Laboral <dbl>,
## #   Años_Experiencia <dbl>, Capacitaciones <dbl>,
## #   Equilibrio_Trabajo_Vida <dbl>, Antigüedad <dbl>, Antigüedad_Cargo <dbl>, …

1. Seleccione 3 variables categóricas (distintas de rotación) y 3 variables cuantitativas, que se consideren estén relacionadas con la rotación.

Nota: Debes justificar porque estas variables están relacionadas y que tipo de relación se espera entre ellas (Hipótesis).

Variables seleccionadas:

Variables Categóricas:

  • Departamento: Se anticipa que algunos departamentos presenten una mayor rotación de empleados en comparación con otros.

  • Satisfacción Laboral: Se espera que a medida que disminuye la satisfacción laboral, la tasa de rotación aumente.

  • Estado Civil: Las personas solteras tienden a cambiar de trabajo con mayor facilidad; por lo tanto, se esperaría que esta categoría presente una tasa de rotación más alta.

Variables Cuantitativas:

  • Ingreso Mensual: Existe una relación inversa entre los ingresos mensuales y la tasa de rotación: a mayores ingresos, menor es la tasa de rotación.

  • Antigüedad en el Cargo: Los empleados con mayor antigüedad suelen tener un mayor sentido de pertenencia, lo que se traduce en tasas de rotación más bajas.

  • Edad: A medida que aumenta la edad, es razonable esperar una mayor estabilidad laboral, por lo que anticipamos una menor tasa de rotación en grupos de mayor edad.

2. Realiza un análisis univariado (caracterización) de la información contenida en la base de datos rotación.

# Crear base de datos con las variables elegidad. 
rotaciondf = rotacion %>%
  select(Departamento, Satisfación_Laboral, Estado_Civil, Edad, Ingreso_Mensual, Antigüedad_Cargo, Rotación)


print(rotaciondf)
## # A tibble: 1,470 × 7
##    Departamento Satisfación_Laboral Estado_Civil  Edad Ingreso_Mensual
##    <chr>                      <dbl> <chr>        <dbl>           <dbl>
##  1 Ventas                         4 Soltero         41            5993
##  2 IyD                            2 Casado          49            5130
##  3 IyD                            3 Soltero         37            2090
##  4 IyD                            3 Casado          33            2909
##  5 IyD                            2 Casado          27            3468
##  6 IyD                            4 Soltero         32            3068
##  7 IyD                            1 Casado          59            2670
##  8 IyD                            3 Divorciado      30            2693
##  9 IyD                            3 Soltero         38            9526
## 10 IyD                            3 Casado          36            5237
## # ℹ 1,460 more rows
## # ℹ 2 more variables: Antigüedad_Cargo <dbl>, Rotación <chr>

Variables numéricas

sapply(rotaciondf[, c("Edad", "Ingreso_Mensual", "Antigüedad_Cargo")], summary)
##             Edad Ingreso_Mensual Antigüedad_Cargo
## Min.    18.00000        1009.000         0.000000
## 1st Qu. 30.00000        2911.000         2.000000
## Median  36.00000        4919.000         3.000000
## Mean    36.92449        6502.931         4.229252
## 3rd Qu. 43.00000        8379.000         7.000000
## Max.    60.00000       19999.000        18.000000

Variables categoricas

frecuencia_dep <- rotaciondf %>%
  group_by(Departamento) %>%
  summarise(Frecuencia = n())

# Mostrar la frecuencia
print(frecuencia_dep)
## # A tibble: 3 × 2
##   Departamento Frecuencia
##   <chr>             <int>
## 1 IyD                 961
## 2 RH                   63
## 3 Ventas              446
 # Calcular las frecuencias
  frecuencia_SL <- rotaciondf %>%
     group_by(Satisfación_Laboral) %>%
     summarise(Frecuencia = n())

# Mostrar la frecuencia
print(frecuencia_SL)
## # A tibble: 4 × 2
##   Satisfación_Laboral Frecuencia
##                 <dbl>      <int>
## 1                   1        289
## 2                   2        280
## 3                   3        442
## 4                   4        459
 # Calcular las frecuencias
  frecuencia_EC <- rotaciondf %>%
     group_by(Estado_Civil) %>%
     summarise(Frecuencia = n())

# Mostrar la frecuencia
print(frecuencia_EC)
## # A tibble: 3 × 2
##   Estado_Civil Frecuencia
##   <chr>             <int>
## 1 Casado              673
## 2 Divorciado          327
## 3 Soltero             470

Graficas de las 6 variables elegidas.

g1=ggplot(rotaciondf,aes(x=Departamento))+geom_bar(fill = "cyan3")+theme_bw()
g2=ggplot(rotaciondf,aes(x=Satisfación_Laboral))+geom_bar(fill = "cyan3")+theme_bw()
g3=ggplot(rotaciondf,aes(x=Estado_Civil))+geom_bar(fill = "cyan3")+theme_bw()
g4=ggplot(rotaciondf,aes(x=Edad))+geom_histogram(fill = "cyan3")+theme_bw()
g5=ggplot(rotaciondf,aes(x=Ingreso_Mensual))+geom_histogram(fill = "cyan3")+theme_bw()
g6=ggplot(rotaciondf,aes(x=Antigüedad_Cargo))+geom_histogram(fill = "cyan3")+theme_bw()
ggarrange(g1, g2, g3, g4, g5, g6,labels = c("A", "B","C","D","E","F"),ncol = 2, nrow = 1)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## $`1`

## 
## $`2`

## 
## $`3`

## 
## attr(,"class")
## [1] "list"      "ggarrange"

Analisis de las variables:

Departamento:

El departamento con el mayor número de empleados es IyD, que cuenta con un total de 961 colaboradores. En contraste, el departamento con el menor número de empleados es HR, con solo 63. Por otro lado, el departamento de ventas tiene 446 empleados.

Satisfacción Laboral:

La mayoría de los empleados clasifican su satisfacción laboral en los niveles 3 y 4, obteniendo 442 calificaciones de “satisfecho” y 459 de “muy satisfecho”, respectivamente. En cambio, un menor número de empleados se posiciona en los niveles 1 y 2, con 289 clasificaciones de “muy insatisfecho” y 280 de “insatisfecho”.

Estado Civil:

En cuanto al estado civil, la empresa presenta un mayor número de empleados casados (673), seguidos por los solteros (470) y, en menor cantidad, los divorciados (327).

Edad:

La mayoría de los empleados se encuentra en el rango de edad de 25 a 45 años. El empleado más joven tiene 18 años y el de mayor edad con 60 años.

Salario:

El salario promedio es de aproximadamente 5 millones. La mayoría de los salarios se sitúan entre 1 millón y 7 millones, con un salario mínimo de 1 millón y un máximo de 20 millones.

Antigüedad en el cargo:

La mayoría de los empleados tiene una antigüedad en su cargo que oscila entre 0 y 7 años, con una media de 4.2 años y un valor máximo de 18 años.

3. Realiza un análisis de bivariado en donde la variable respuesta sea rotacion codificada de la siguiente manera (y=1 es si rotación, y=0 es no rotación). Con base en estos resultados identifique cuales son las variables determinantes de la rotación e interpretar el signo del coeficiente estimado. Compare estos resultados con la hipotesis planteada en el punto 2.

rotaciondf$Rotación <- factor(ifelse(rotacion$Rotación == "Si", 1, 0))
head(rotaciondf$Rotación)
## [1] 1 0 1 0 0 0
## Levels: 0 1
# Graficar por departamento
graficodepartamento <- ggplot(rotaciondf, aes(x = Departamento, fill = Rotación)) +
  geom_bar(position = "fill") + 
  scale_y_continuous(labels = scales::percent) +  
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  labs(title = "Gráfico por Departamento", x = "Departamento", y = "Porcentaje")



# Imprimir las gráficas
print(graficodepartamento)

Observamos que el departamento de ventas presenta la mayor proporción de rotación, seguido por el de Recursos Humanos. Por otro lado, el departamento con la menor rotación es Investigación y Desarrollo. Sin embargo, no se detecta una diferencia significativa entre los departamentos.

# Graficar por Satisfación_Laboral
graficoSatisfación_Laboral <- ggplot(rotaciondf, aes(x = Satisfación_Laboral, fill = Rotación)) +
  geom_bar(position = "fill") + 
  scale_y_continuous(labels = scales::percent) +  
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  labs(title = "Gráfico por Satisfación_Laboral", x = "Satisfación_Laboral", y = "Porcentaje")



# Imprimir las gráficas
print(graficoSatisfación_Laboral)

Se observa que a menor satisfacción laboral, mayor es la tasa de rotación.

# Graficar el estado civil
graficoEstado_Civil <- ggplot(rotaciondf, aes(x = Estado_Civil, fill = Rotación)) +
  geom_bar(position = "fill") +
  scale_y_continuous(labels = scales::percent) +
  labs(title = "Gráfico de Estado Civil", x = "Estado Civil", y = "Porcentaje")

print(graficoEstado_Civil)

Los solteros presentan una tasa de rotación más alta en comparación con los casados y divorciados.

graficoingreso =ggplot(rotaciondf,aes(x=Rotación,y= Ingreso_Mensual,fill=Rotación))+geom_boxplot()+theme_bw()

graficoAntigüedad =ggplot(rotaciondf,aes(x=Rotación,y= Antigüedad_Cargo,fill=Rotación))+geom_boxplot()+theme_bw()

graficoedad =ggplot(rotaciondf,aes(x=Rotación,y= 
                                    Edad,fill=Rotación))+geom_boxplot()+theme_bw()

print(graficoingreso)

A menor salario mensual mayor la tasa de rotación.

print(graficoAntigüedad)

A menor antigüedad en el empleo, mayor es la tasa de rotación.

print(graficoedad)

Se evidencia que a menor edad, mayor es la tasa de rotación.