PRIMER PUNTO

INTRODUCCIÓN

En el campo de la gestión del capital humano, la analítica de personas es esencial para identificar los elementos que impactan en la rotación de empleados. Mantener al personal es uno de los principales retos para las empresas, ya que una alta tasa de rotación puede implicar costos elevados y perjudicar la estabilidad operacional.

Un posible factor que influye en la decisión de un colaborador de dejar la organización es la carga de trabajo, particularmente las horas extras. Se sospecha que quienes realizan horas extras tienen mayor tendencia a renunciar en comparación con quienes no lo hacen. Esto se debe a que el exceso de trabajo puede provocar fatiga física y emocional, alterando el equilibrio entre vida personal y laboral, lo que reduciría la satisfacción y, eventualmente, impulsaría la decisión de abandonar la empresa.

No obstante, la rotación no depende solo de las horas extras; otros aspectos como el salario, el nivel de satisfacción en el puesto, la antigüedad en la compañía, el estado civil y el área de trabajo también pueden influir. Mediante un estudio estadístico, se pretende analizar la relación entre estas variables y la rotación, con el fin de diseñar estrategias que favorezcan la retención del talento y el bienestar de los empleados.

DESCRIPCIÓN DE LOS DATOS

Se ha seleccionado un conjunto de datos que contiene información relevante sobre los empleados de una organización. Estas variables permitirán evaluar diversos factores que pueden influir en la decisión de los empleados de permanecer o abandonar la empresa.

Departamento: Indica el área o departamento en el que trabaja cada empleado. Esta variable es relevante, ya que algunos departamentos pueden tener mayores exigencias laborales o condiciones de trabajo diferentes, lo que podría afectar la rotación.

Estado Civil: Clasifica a los empleados según su estado civil (por ejemplo, soltero, casado, divorciado). El estado civil puede influir en la decisión de rotación, ya que las personas con responsabilidades familiares pueden valorar más la estabilidad y el equilibrio entre la vida personal y laboral.

Horas Extra: Indica si el empleado trabaja horas extra (Sí/No). Esta es la variable clave del estudio, ya que se busca analizar su impacto en la rotación del personal.

Satisfacción Laboral: Mide el nivel de satisfacción del empleado con su trabajo. Un nivel bajo de satisfacción podría estar relacionado con una mayor intención de rotación, mientras que una mayor satisfacción podría indicar estabilidad laboral.

Ingreso Mensual: Representa el salario mensual del empleado. Un ingreso bajo podría incentivar la búsqueda de mejores oportunidades laborales, mientras que un salario competitivo podría fomentar la permanencia en la empresa.

Antigüedad: Indica el tiempo que el empleado ha trabajado en la empresa (en años). La antigüedad puede influir en la rotación, ya que los empleados con mayor tiempo en la organización pueden tener un mayor sentido de compromiso, mientras que los nuevos empleados podrían estar más propensos a buscar otras oportunidades

EXPLORACIÓN DE LAS VARIABLES

El análisis exploratorio de los datos ayuda a detectar patrones clave relacionados con la rotación de personal. Uno de los resultados más relevantes es que los empleados con menor antigüedad, generalmente más jóvenes, tienden a renunciar con mayor frecuencia.

Esta tendencia se intensifica cuando se presentan ciertas condiciones laborales y personales. Por ejemplo, quienes trabajan en el área de Ventas, un departamento con altos niveles de estrés y exigencia, muestran una mayor probabilidad de rotación. Además, los empleados que frecuentemente laboran horas extra, están solteros, tienen bajos niveles de satisfacción laboral (≤2 en una escala de evaluación) y perciben salarios inferiores a $3,000 al mes son aún más propensos a dejar la empresa.

Estos resultados indican que la rotación no es causada por un solo factor, sino por la combinación de varios elementos. La presión laboral, los ingresos insuficientes y la falta de apoyo emocional o familiar podrían estar generando un desgaste acumulativo, impulsando a estos trabajadores a buscar alternativas en otras organizaciones.

Dado que la rotación afecta principalmente a empleados jóvenes en condiciones laborales desfavorables, es crucial desarrollar estrategias de retención específicas para este grupo. Iniciativas como mentorías para talento joven, ajustes en la distribución de cargas de trabajo, reevaluación salarial y programas de bienestar laboral podrían ser determinantes para reducir la rotación y promover un entorno de trabajo más estable y atractivo.

SEGUNDO PUNTO

Realizar un análisis univariado (caracterización). Nota: Los indicadores o gráficos se usan dependiendo del tipo de variable (cuanti o cuali). Incluir interpretaciones de la rotación.

library(readxl)
Parcial_estadistica <- read_excel("Parcial estadistica.xlsx")
View(Parcial_estadistica)

Departamento (Variable Cualitativa)

# GRAFICO 1 - DEPARTAMENTO 
# Frecuencias absolutas y relativas
table(Parcial_estadistica$Departamento)
## 
##    IyD     RH Ventas 
##    961     63    446
prop.table(table(Parcial_estadistica$Departamento)) * 100
## 
##       IyD        RH    Ventas 
## 65.374150  4.285714 30.340136
# Gráfico de barras
barplot(table(Parcial_estadistica$Departamento), 
        main = "Distribución por Departamento",
        xlab = "Departamento",
        ylab = "Frecuencia",
        col = "skyblue")

# GRAFICA 2 - ESTADO CIVIL 

# Frecuencias
table(Parcial_estadistica$Estado_civil)
## 
##     Casado Divorciado    Soltero 
##        673        327        470
prop.table(table(Parcial_estadistica$Estado_civil)) * 100
## 
##     Casado Divorciado    Soltero 
##   45.78231   22.24490   31.97279
# Gráfico de barras
barplot(table(Parcial_estadistica$Estado_civil), 
        main = "Distribución por Estado Civil",
        xlab = "Estado Civil",
        ylab = "Frecuencia",
        col = "lightgreen")

#GRAFICA 3 - HORAS EXTRA
# Frecuencias
table(Parcial_estadistica$Horas_Extra)
## 
##   No   Si 
## 1054  416
prop.table(table(Parcial_estadistica$Horas_Extra)) * 100
## 
##       No       Si 
## 71.70068 28.29932
# Gráfico de barras
barplot(table(Parcial_estadistica$Horas_Extra), 
        main = "Realización de Horas Extra",
        xlab = "Horas Extra",
        ylab = "Frecuencia",
        col = "orange")

# GRAFICO 4 - SATISFACCION LABORAL
# Estadísticas descriptivas
summary(Parcial_estadistica$Satisfaccion_Laboral)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.000   2.000   3.000   2.729   4.000   4.000
sd(Parcial_estadistica$Satisfaccion_Laboral, na.rm = TRUE)  # Evitar problemas con valores NA
## [1] 1.102846
# Gráfico de barras
barplot(table(Parcial_estadistica$Satisfaccion_Laboral), 
        main = "Realización de Satisfaccion laboral",
        xlab = "Nivel de satisfacción",
        ylab = "Frecuencia",
        col = "red")

# GRAFICO 5 - INGRESO MENSUAL 
# Estadísticas descriptivas
summary(Parcial_estadistica$Ingreso_Mensual)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    1009    2911    4919    6503    8379   19999
sd(Parcial_estadistica$Ingreso_Mensual)
## [1] 4707.957
# Histograma
hist(Parcial_estadistica$Ingreso_Mensual,
     main = "Distribución de Ingresos Mensuales",
     xlab = "Ingreso Mensual",
     ylab = "Frecuencia",
     col = "lightblue")

#GRAFICO 6 - ANTIGUEDAD
# Estadísticas descriptivas
summary(Parcial_estadistica$Antiguedad)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   3.000   5.000   7.008   9.000  40.000
sd(Parcial_estadistica$Antiguedad)
## [1] 6.126525
# Histograma
hist(Parcial_estadistica$Antiguedad,
     main = "Distribución de Antigüedad",
     xlab = "Años de Antigüedad",
     ylab = "Frecuencia",
     col = "lightgreen")

INTERPRETACIONES DEL 2 PUNTO

GRAFICO 1 - DEPARTAMENTO

El departamento de Investigación y Desarrollo (IyD) cuenta con la mayor cantidad de empleados, lo que podría estar relacionado con una mayor rotación si no existen suficientes oportunidades de crecimiento. Además, en este tipo de áreas, la presión por la innovación y la posibilidad de mejores ofertas laborales pueden incentivar la movilidad del talento. Por otro lado, el departamento de Ventas, que también tiene una presencia significativa, suele experimentar una alta rotación debido a la presión por cumplir metas y la dependencia de incentivos. Si los empleados de este sector no perciben estabilidad o buenas condiciones laborales, es probable que busquen oportunidades en otras empresas, por ultimo el departamento de recursos humanos puede presentar una menor cantidad de rotaciones debido a la estabilidad asociada a sus puestos aunque en algunos casos pueden depender mucho de las condiciones de su entorno laboral y si estos no son favorables, optaran por buscar mejores oportunidades en otras empresas.

GRAFICO 2 - ESTADO CIVIL

La distribución del personal según su estado civil muestra que la mayoría de los empleados son casados, seguidos por los solteros y, en menor proporción, los divorciados. Esta variable puede influir en la rotación laboral, ya que las personas casadas suelen buscar mayor estabilidad laboral debido a sus responsabilidades familiares, lo que podría reducir su tendencia a cambiar de empleo con frecuencia. En contraste, los empleados solteros podrían estar más dispuestos a aceptar nuevas oportunidades laborales, ya que suelen tener mayor flexibilidad para cambiar de trabajo o incluso de ciudad. Los divorciados, al encontrarse en una etapa de reestructuración personal y económica, podrían presentar comportamientos mixtos en cuanto a la rotación, dependiendo de su situación financiera y estabilidad laboral.

GRAFICO 3 - HORAS EXTRA

La distribución de empleados según la realización de horas extra muestra que la mayoría no trabaja fuera de su horario regular, mientras que una menor proporción sí lo hace. Este factor puede influir en la rotación laboral, ya que el exceso de horas extra puede generar agotamiento, estrés y desbalance entre la vida personal y profesional, lo que podría aumentar la intención de renunciar. Por otro lado, aquellos que no realizan horas extra pueden tener una mejor calidad de vida laboral, lo que favorece su permanencia en la empresa.

GRAFICO 4 - SATISFACCION LABORAL

La distribución de empleados según su nivel de satisfacción laboral indica que la mayoría tiene niveles de satisfacción medios y altos (3 y 4), mientras que una menor proporción reporta niveles bajos (1 y 2). La satisfacción laboral es un factor clave en la rotación, ya que los empleados insatisfechos suelen estar más propensos a buscar nuevas oportunidades en otras empresas. En cambio, aquellos con mayor satisfacción tienden a permanecer más tiempo en la organización, lo que reduce la rotación y mejora la estabilidad del equipo. Por eso es importante tener en cuenta algunos aspectos del entorno laboral para todos los empleados ya que estos influyen mucho en su satisfaccion.

GRAFICO 5 - INGRESO MENSUAL

La distribución de ingresos mensuales muestra que la mayoría de los empleados gana entre 0 y 5,000, con una disminución progresiva en la frecuencia a medida que aumentan los salarios. Esta desigualdad en la distribución salarial puede influir significativamente en la rotación laboral, ya que los empleados con ingresos más bajos pueden estar más propensos a buscar nuevas oportunidades que les ofrezcan mejores condiciones económicas. Por otro lado, aquellos con salarios más altos suelen tener mayor estabilidad y compromiso con la empresa, lo que reduce su intención de cambiar de trabajo.

GRAFICO 6 - ANTIGUEDAD

La distribución de antigüedad en la empresa revela que la mayoría de los empleados tiene pocos años de servicio, con una alta concentración en los primeros cinco años y una disminución gradual a medida que aumenta la permanencia. Esto sugiere que la rotación laboral es más elevada en los primeros años, posiblemente debido a la falta de oportunidades de desarrollo, condiciones laborales poco atractivas o un proceso de adaptación en el que muchos trabajadores optan por cambiar de empleo. En contraste, aquellos con mayor antigüedad muestran una tendencia a permanecer en la organización, lo que indica que la estabilidad laboral se consolida con el tiempo.

TERCER PUNTO

Realizar un análisis bivariado (siempre contra la rotación). Nota: Los indicadores y gráficos 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

GRAFICOS CUALITATIVA VS CUANTITATIVA SEGUN SU ROTACION

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
#GRAFICO 1 - DEPARTAMENTO VS INGRESO MENSUAL EN CONTRA DE LA ROTACION
ggplot(Parcial_estadistica, aes(x = Departamento, y = Ingreso_Mensual, fill = Rotacion)) + geom_boxplot() + theme_minimal() + ggtitle("Departamento vs Ingreso Mensual segun su Rotación")

#GRAFICO 2 - ESTADO CIVIL VS SATISFACCION LABORAL EN CONTRA DE LA ROTACION 
ggplot(Parcial_estadistica, aes(x = Estado_civil, y = Satisfaccion_Laboral, fill = Rotacion)) + geom_boxplot() + theme_minimal() + ggtitle("Estado civil vs Satisfaccion laboral según su Rotación")

#GRAFICO 3 - ESTADO CIVIL VS INGRESO MENSUAL EN CONTRA DE LA ROTACION
ggplot(Parcial_estadistica, aes(x = Estado_civil, y = Ingreso_Mensual, fill = Rotacion)) + geom_boxplot() + theme_minimal() + ggtitle("Estado civil vs Ingreso Mensual según su Rotación")

TABLAS PARA MEJOR INTERPRETACION DE GRAFICOS DE CUALITATIVA VS CUANTITATIVA EN CONTRA DE LA ROTACION

library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
tabla_resumen <- Parcial_estadistica %>%
  group_by(Departamento, Rotacion) %>%
  summarise(
    Promedio = mean(Ingreso_Mensual, na.rm = TRUE),
    Mediana = median(Ingreso_Mensual, na.rm = TRUE),
    Min = min(Ingreso_Mensual, na.rm = TRUE),
    Max = max(Ingreso_Mensual, na.rm = TRUE),
    Desviacion = sd(Ingreso_Mensual, na.rm = TRUE),
    Conteo = n(),
    .groups = "drop" # <- Esto elimina el agrupamiento
  )

# Mostrar tabla
print(tabla_resumen)
## # A tibble: 6 × 8
##   Departamento Rotacion Promedio Mediana   Min   Max Desviacion Conteo
##   <chr>        <chr>       <dbl>   <dbl> <dbl> <dbl>      <dbl>  <int>
## 1 IyD          No          6630.   4708   1051 19999      5010.    828
## 2 IyD          Si          4108.   2759   1009 19859      3393.    133
## 3 RH           No          7346.   4936   2064 19717      6077.     51
## 4 RH           Si          3716.   2652.  1555 10482      3064.     12
## 5 Ventas       No          7232.   6074.  1052 19847      4084.    354
## 6 Ventas       Si          5908.   5314   1081 19845      3799.     92
library(dplyr)

# Crear tabla con estadísticas descriptivas
tabla_resumen <- Parcial_estadistica %>%
  group_by(Estado_civil, Rotacion) %>%
  summarise(
    Promedio_Satisfaccion = mean(Satisfaccion_Laboral, na.rm = TRUE),
    Mediana_Satisfaccion = median(Satisfaccion_Laboral, na.rm = TRUE),
    Min_Satisfaccion = min(Satisfaccion_Laboral, na.rm = TRUE),
    Max_Satisfaccion = max(Satisfaccion_Laboral, na.rm = TRUE),
    Desviacion_Satisfaccion = sd(Satisfaccion_Laboral, na.rm = TRUE),
    Conteo = n(),
    .groups = "drop"
  )

# Mostrar tabla
print(tabla_resumen)
## # A tibble: 6 × 8
##   Estado_civil Rotacion Promedio_Satisfaccion Mediana_Satisfaccion
##   <chr>        <chr>                    <dbl>                <dbl>
## 1 Casado       No                        2.75                    3
## 2 Casado       Si                        2.51                    3
## 3 Divorciado   No                        2.71                    3
## 4 Divorciado   Si                        2.58                    3
## 5 Soltero      No                        2.89                    3
## 6 Soltero      Si                        2.41                    2
## # ℹ 4 more variables: Min_Satisfaccion <dbl>, Max_Satisfaccion <dbl>,
## #   Desviacion_Satisfaccion <dbl>, Conteo <int>

INTERPRETACION DE CADA GRAFICO CUALITATIVA VS CUANTITATIVA SEGUN SU ROTACION

DEPARTAMENTO VS INGRESO MENSUAL

El gráfico y la tabla indican que los empleados que rotan tienden a tener ingresos mensuales más bajos en comparación con aquellos que permanecen en la empresa, independientemente del departamento. La diferencia de ingresos es más marcada en el departamento de IyD, donde la mediana de ingresos de quienes rotan es considerablemente menor que la de quienes permanecen. En RH y Ventas, aunque la diferencia persiste, es menos pronunciada. Esto sugiere que mejorar los salarios, especialmente en los niveles más bajos, podría ser una estrategia efectiva para reducir la rotación, particularmente en IyD.

ESTADO CIVIL VS SATISFACCION LABORAL

El gráfico y la tabla muestran la relación entre el estado civil, la satisfacción laboral y la rotación. Se observa que, en promedio, los empleados que no rotan tienen una mayor satisfacción laboral en comparación con aquellos que sí lo hacen, independientemente de su estado civil. Sin embargo, los empleados solteros presentan la mayor brecha de satisfacción entre quienes permanecen en la empresa y quienes la abandonan, con un promedio de satisfacción de 2.89 para los que se quedan y 2.40 para los que rotan. Los empleados casados y divorciados también muestran esta diferencia, aunque en menor medida. Además, la mediana de satisfacción es la misma en todos los casos (3), pero los valores mínimos de satisfacción reflejan que hay empleados con niveles muy bajos (1) en todos los grupos. Esto sugiere que la insatisfacción laboral es un factor determinante en la rotación, y que mejorar la percepción del ambiente de trabajo y las condiciones laborales podría ayudar a reducir la rotación, especialmente entre los empleados solteros

ESTADO CIVIL VS INGRESO MENSUAL

El gráfico y la tabla muestran que los empleados que rotan en la empresa tienen, en promedio, menores ingresos mensuales en comparación con aquellos que permanecen, independientemente de su estado civil. Sin embargo, la diferencia es más marcada en los empleados casados y divorciados, donde la mediana de ingresos de quienes rotan es significativamente menor. En los empleados solteros, aunque la brecha persiste, la variabilidad de los ingresos es menor. Esto sugiere que los empleados con mayores responsabilidades económicas pueden verse más afectados por bajos salarios, lo que incrementa su rotación. Para reducir la rotación, sería clave mejorar los salarios y brindar incentivos económicos que favorezcan la estabilidad financiera de los empleados.

GRAFICOS CUALITATIVA VS CUALITATIVA

#GRAFICO DEPARTAMENTO VS HORAS EXTRA EN CONTRA DE LA ROTACION
ggplot(Parcial_estadistica, aes(x = Departamento, fill = Horas_Extra)) +
  geom_bar(position = "fill") +
  facet_wrap(~ Rotacion) +
  theme_minimal() +
  ggtitle("Departamento vs Horas Extras según Rotación") +
  ylab("Frecuencia")

#GRAFCIO DEPARTAMENTO VS ESTADO CIVIL EN CONTRA DE LA ROTACION
ggplot(Parcial_estadistica, aes(x = Departamento, fill = Estado_civil)) +
  geom_bar(position = "fill") +
  facet_wrap(~ Rotacion) +
  theme_minimal() +
  ggtitle("Departamento vs Estado civil según Rotación") +
  ylab("Frecuencia")

TABLAS PARA MEJOR INTERPRETACION DE GRAFICOS DE CUALITATIVA VS CUALITATIVA EN CONTRA DE LA ROTACION

library(dplyr)

# Crear tabla de frecuencias
tabla_resumen <- Parcial_estadistica %>%
  group_by(Departamento, Horas_Extra, Rotacion) %>%
  summarise(Conteo = n(), .groups = "drop")

# Mostrar tabla
print(tabla_resumen)
## # A tibble: 12 × 4
##    Departamento Horas_Extra Rotacion Conteo
##    <chr>        <chr>       <chr>     <int>
##  1 IyD          No          No          631
##  2 IyD          No          Si           59
##  3 IyD          Si          No          197
##  4 IyD          Si          Si           74
##  5 RH           No          No           39
##  6 RH           No          Si            7
##  7 RH           Si          No           12
##  8 RH           Si          Si            5
##  9 Ventas       No          No          274
## 10 Ventas       No          Si           44
## 11 Ventas       Si          No           80
## 12 Ventas       Si          Si           48
library(dplyr)

# Crear tabla de frecuencias
tabla_resumen <- Parcial_estadistica %>%
  group_by(Departamento, Estado_civil, Rotacion) %>%
  summarise(Conteo = n(), .groups = "drop")

# Mostrar tabla
print(tabla_resumen)
## # A tibble: 18 × 4
##    Departamento Estado_civil Rotacion Conteo
##    <chr>        <chr>        <chr>     <int>
##  1 IyD          Casado       No          384
##  2 IyD          Casado       Si           49
##  3 IyD          Divorciado   No          206
##  4 IyD          Divorciado   Si           18
##  5 IyD          Soltero      No          238
##  6 IyD          Soltero      Si           66
##  7 RH           Casado       No           28
##  8 RH           Casado       Si            6
##  9 RH           Divorciado   No           11
## 10 RH           Divorciado   Si            5
## 11 RH           Soltero      No           12
## 12 RH           Soltero      Si            1
## 13 Ventas       Casado       No          177
## 14 Ventas       Casado       Si           29
## 15 Ventas       Divorciado   No           77
## 16 Ventas       Divorciado   Si           10
## 17 Ventas       Soltero      No          100
## 18 Ventas       Soltero      Si           53

INTERPRETACION DE CADA GRAFICO CUALITATIVA VS CUALITATIVA SEGUN SU ROTACION

DEPARTAMENTO VS HORAS EXTRA SEGUN LA ROTACION

El gráfico y la tabla muestran la relación entre las horas extras y la rotación en distintos departamentos. Se observa que en los departamentos de IyD y RH, la mayoría de los empleados no realizan horas extras, y quienes las hacen no tienden tanto en la rotación. En cambio, en el departamento de Ventas, un porcentaje significativo de empleados que realizan horas extras termina rotando. Esto sugiere que en Ventas, las horas extras podrían estar asociadas a una mayor sobrecarga laboral, lo que incrementa la rotación. Para mitigar este problema, se recomienda evaluar la carga de trabajo y establecer mejores condiciones para quienes realizan horas extras, evitando que se convierta en un factor de insatisfacción y abandono del puesto.

DEPARTAMENTO VS ESTADO CIVIL SEGUN LA ROTACION

El gráfico y la tabla muestran la relación entre el estado civil y la rotación en los distintos departamentos. Se observa que en los tres departamentos (IyD, RH y Ventas), la mayoría de los empleados que permanecen en la empresa están casados, mientras que los solteros y divorciados presentan una mayor proporción de rotación. En IyD, por ejemplo, 49 empleados casados han rotado frente a 66 solteros y 18 divorciados. En Ventas, la rotación es más evidente en los solteros (53 empleados) en comparación con los casados (29) y los divorciados (10). Esto sugiere que los empleados solteros pueden estar más propensos a cambiar de trabajo, posiblemente debido a una menor estabilidad familiar o una mayor disposición a buscar nuevas oportunidades.

CUARTO PUNTO

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

Para reducir la rotación en la empresa, es fundamental implementar estrategias que mejoren la satisfacción y el compromiso de los empleados. Una de ellas es el desarrollo profesional, ofreciendo programas de capacitación y oportunidades de ascenso, especialmente en departamentos con alta rotación como RH e IyD. También es clave brindar flexibilidad en horarios y modelos híbridos de trabajo, ya que los empleados con muchas horas extra tienen mayor tendencia a renunciar.

Otra estrategia es mejorar los beneficios, como seguros médicos, bonos por desempeño o apoyo para el cuidado infantil, lo que puede ser especialmente útil para empleados con familia. Además, fortalecer el liderazgo mediante capacitaciones en gestión y comunicación puede reducir la insatisfacción y fomentar un ambiente laboral positivo.

Reconocer el desempeño con incentivos como bonificaciones por antigüedad y premios puede aumentar la lealtad de los empleados. Asimismo, mejorar los procesos de selección de personal para asegurar que los nuevos contratados se alineen con la cultura de la empresa puede prevenir la rotación prematura.

Implementar encuestas de satisfacción laboral permite detectar problemas a tiempo y tomar medidas correctivas antes de que los empleados decidan irse. Finalmente, promover una cultura de inclusión y diversidad fortalece el sentido de pertenencia y mejora el ambiente laboral. Estas estrategias, en conjunto, pueden contribuir significativamente a reducir la rotación y mejorar la estabilidad dentro de la empresa.

QUINTO PUNTO

Elaborar un modelo predictive con base en las variables mas importantes identificadas en el análisis bivariado

# Cargar paquetes necesarios
library(readxl)  # Para leer archivos Excel
library(dplyr)   # Para manipulación de datos
library(caret)   # Para la matriz de confusión y métricas de desempeño
## Cargando paquete requerido: lattice
# Cargar la base de datos
Parcial_estadistica <- read_excel("Parcial estadistica.xlsx")

# Convertir las variables cualitativas en factores
Parcial_estadistica$Departamento <- as.factor(Parcial_estadistica$Departamento)
Parcial_estadistica$Estado_civil <- as.factor(Parcial_estadistica$Estado_civil)
Parcial_estadistica$Horas_Extra <- as.factor(Parcial_estadistica$Horas_Extra)
Parcial_estadistica$Rotacion <- as.factor(Parcial_estadistica$Rotacion)  # Asegúrate de que 'Rotacion' sea un factor

# Ajustar el modelo de regresión logística
modelo_logistico <- glm(Rotacion ~ Departamento + Estado_civil + Horas_Extra + 
                        Satisfaccion_Laboral + Ingreso_Mensual + Antiguedad, 
                        data = Parcial_estadistica, family = binomial)

# Resumen del modelo
summary(modelo_logistico)
## 
## Call:
## glm(formula = Rotacion ~ Departamento + Estado_civil + Horas_Extra + 
##     Satisfaccion_Laboral + Ingreso_Mensual + Antiguedad, family = binomial, 
##     data = Parcial_estadistica)
## 
## Coefficients:
##                          Estimate Std. Error z value Pr(>|z|)    
## (Intercept)            -9.741e-01  2.603e-01  -3.742 0.000183 ***
## DepartamentoRH          6.534e-01  3.586e-01   1.822 0.068415 .  
## DepartamentoVentas      6.622e-01  1.671e-01   3.963 7.41e-05 ***
## Estado_civilDivorciado -3.608e-01  2.319e-01  -1.556 0.119721    
## Estado_civilSoltero     8.832e-01  1.703e-01   5.186 2.15e-07 ***
## Horas_ExtraSi           1.520e+00  1.592e-01   9.548  < 2e-16 ***
## Satisfaccion_Laboral   -3.272e-01  6.938e-02  -4.716 2.40e-06 ***
## Ingreso_Mensual        -1.218e-04  2.628e-05  -4.633 3.60e-06 ***
## Antiguedad             -3.913e-02  1.844e-02  -2.122 0.033821 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1298.6  on 1469  degrees of freedom
## Residual deviance: 1082.0  on 1461  degrees of freedom
## AIC: 1100
## 
## Number of Fisher Scoring iterations: 5

El modelo de regresión logística analiza la influencia de varias variables sobre la rotación de empleados. De acuerdo con los valores de Pr(>|z|), las variables más significativas (p < 0.05) incluyen Horas_Extra, Satisfacción_Laboral, Ingreso_Mensual y Antigüedad.

- Horas Extra tiene un coeficiente positivo significativo (1.520), lo que indica que los empleados que trabajan horas extra tienen una mayor probabilidad de rotar en comparación con los que no lo hacen.

- Satisfacción Laboral tiene un coeficiente negativo significativo (-3.272), lo que sugiere que a medida que la satisfacción laboral aumenta, la probabilidad de rotación disminuye considerablemente.

- Ingreso Mensual también tiene un coeficiente negativo significativo (-0.0001218), lo que implica que a mayor salario, menor probabilidad de que el empleado renuncie.

- Antigüedad presenta un coeficiente negativo significativo (-0.391), indicando que los empleados con mayor tiempo en la empresa tienen menos probabilidades de rotar.

Por otro lado, las variables Departamento y Estado Civil no muestran significancia estadística clara en todas sus categorías, por lo que su impacto en la rotación no es concluyente.

Finalmente, el modelo sugiere que para reducir la rotación, la empresa debe enfocarse en mejorar la satisfacción laboral, optimizar la carga de horas extra y ofrecer incentivos salariales y estrategias de retención para empleados con menor antigüedad.

SEXTO PUNTO

Identifique un humbral de corte de probabilidad con base en los datos para clasificar con el modelo y calcule la métrica de desempeño de clasificación.

# Cargar paquetes necesarios
library(pROC)
## Type 'citation("pROC")' for a citation.
## 
## Adjuntando el paquete: 'pROC'
## The following objects are masked from 'package:stats':
## 
##     cov, smooth, var
library(caret)
library(ggplot2)

# Obtener probabilidades de predicción
predicciones_prob <- predict(modelo_logistico, type = "response", newdata = Parcial_estadistica)

# Función para evaluar diferentes umbrales
evaluar_umbral <- function(umbral) {
  # Convertir las probabilidades en predicciones binarias
  predicciones_ajustadas <- ifelse(predicciones_prob > umbral, "Si", "No")
  
  # Convertir a factor con los mismos niveles que la variable real
  predicciones_ajustadas <- factor(predicciones_ajustadas, levels = c("No", "Si"))
  Parcial_estadistica$Rotacion <- factor(Parcial_estadistica$Rotacion, levels = c("No", "Si"))
  
  # Evaluar la matriz de confusión
  confusion_matrix <- confusionMatrix(predicciones_ajustadas, Parcial_estadistica$Rotacion)
  
  # Obtener métricas de desempeño
  accuracy <- confusion_matrix$overall['Accuracy']
  sensitivity <- confusion_matrix$byClass['Sensitivity']
  specificity <- confusion_matrix$byClass['Specificity']
  f1_score <- confusion_matrix$byClass['F1']
  
  # Retornar los resultados en un data frame
  return(data.frame(Umbral = umbral, Accuracy = accuracy, Sensitivity = sensitivity, 
                    Specificity = specificity, F1_Score = f1_score))
}

# Definir una secuencia de umbrales desde 0.1 hasta 0.9
umbrales <- seq(0.1, 0.9, by = 0.05)

# Evaluar todos los umbrales y guardar los resultados
resultados <- do.call(rbind, lapply(umbrales, evaluar_umbral))

# Función para graficar cada métrica individualmente
graficar_metrica <- function(data, metrica, color, titulo) {
  ggplot(data, aes(x = Umbral, y = get(metrica))) +
    geom_line(color = color, size = 1) +
    geom_point(color = color, size = 2) +
    labs(title = titulo, x = "Umbral de clasificación", y = metrica) +
    theme_minimal()
}

# Generar gráficos separados para cada métrica
grafico_accuracy <- graficar_metrica(resultados, "Accuracy", "blue", "Precisión (Accuracy) vs. Umbral")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
grafico_sensitivity <- graficar_metrica(resultados, "Sensitivity", "red", "Sensibilidad (Recall) vs. Umbral")
grafico_specificity <- graficar_metrica(resultados, "Specificity", "green", "Especificidad vs. Umbral")
grafico_f1_score <- graficar_metrica(resultados, "F1_Score", "purple", "F1-Score vs. Umbral")

# Mostrar los gráficos
print(grafico_accuracy)

print(grafico_sensitivity)

print(grafico_specificity)

print(grafico_f1_score)

# Mostrar los resultados numéricos
print(resultados)
##            Umbral  Accuracy Sensitivity Specificity  F1_Score
## Accuracy     0.10 0.5666667   0.5141930 0.839662447 0.6656168
## Accuracy1    0.15 0.6911565   0.6796431 0.751054852 0.7868545
## Accuracy2    0.20 0.7693878   0.7907543 0.658227848 0.8519004
## Accuracy3    0.25 0.8088435   0.8588808 0.548523207 0.8828679
## Accuracy4    0.30 0.8272109   0.9026764 0.434599156 0.8975806
## Accuracy5    0.35 0.8374150   0.9261963 0.375527426 0.9052715
## Accuracy6    0.40 0.8557823   0.9602595 0.312236287 0.9178295
## Accuracy7    0.45 0.8564626   0.9740470 0.244725738 0.9192499
## Accuracy8    0.50 0.8551020   0.9837794 0.185654008 0.9192876
## Accuracy9    0.55 0.8530612   0.9910787 0.135021097 0.9187970
## Accuracy10   0.60 0.8530612   0.9967559 0.105485232 0.9192221
## Accuracy11   0.65 0.8462585   0.9975669 0.059071730 0.9158600
## Accuracy12   0.70 0.8421769   0.9983779 0.029535865 0.9138827
## Accuracy13   0.75 0.8394558   0.9991890 0.008438819 0.9125926
## Accuracy14   0.80 0.8380952   0.9991890 0.000000000 0.9119171
## Accuracy15   0.85 0.8387755   1.0000000 0.000000000 0.9123196
## Accuracy16   0.90 0.8387755   1.0000000 0.000000000 0.9123196
# Calcular el promedio de Accuracy, Sensitivity y Specificity
resultados$Promedio <- rowMeans(resultados[, c("Accuracy", "Sensitivity", "Specificity")])

# Encontrar el umbral con el mayor promedio
mejor_umbral <- resultados[which.max(resultados$Promedio), ]

# Imprimir el mejor umbral y su valor promedio
print(paste("El mejor umbral para el modelo logístico es:", round(mejor_umbral$Umbral, 4), 
            "con un promedio de métricas de:", round(mejor_umbral$Promedio, 4)))
## [1] "El mejor umbral para el modelo logístico es: 0.2 con un promedio de métricas de: 0.7395"

INTERPRETACION

El mejor umbral identificado en el modelo logístico representa el punto óptimo en el que se logra el mejor equilibrio entre la precisión, la sensibilidad y la especificidad al predecir la rotación de los empleados. Este umbral es fundamental para validar nuestras hipótesis, ya que nos indica en qué punto podemos distinguir de manera más efectiva a los empleados que tienen una alta probabilidad de rotación de aquellos que permanecerán en la empresa.

Si el umbral es muy bajo (0,3), el modelo prioriza la sensibilidad, detectando la mayoría de los casos de rotación, pero con el riesgo de clasificar erróneamente a empleados que realmente no rotarán. Por el contrario, si el umbral es demasiado alto (0,7), el modelo se vuelve más preciso, pero podría no identificar a empleados que efectivamente dejarán la empresa. Al seleccionar el umbral óptimo, encontramos el punto donde las variables explicativas, como la satisfacción laboral, las horas extra y el ingreso mensual, tienen el mayor poder predictivo sin comprometer la confiabilidad del modelo.

Este resultado confirma que las variables seleccionadas influyen en la rotación y permite a la empresa tomar decisiones estratégicas para mitigarla. Por ejemplo, si la baja satisfacción laboral y las largas jornadas de trabajo son factores determinantes, la compañía podría implementar programas de bienestar laboral y ajustar las cargas horarias para mejorar la retención de talento

SEPTIMO PUNTO

ACTUACION

Para hacer la actuacion en los diferentes tipos los cuales son Alto riesgo de rotacion, medio y bajo. Se utilizaran estos valores para verificar los resultados

Rango Alto: X ≥7

Rango Medio: 0,3 ≤ X ≤ 0,6

Rango bajo: X ≤ 0,25

Alto riesgo:

- Departamento: RH

- Estado civil: Soltero

- Horas Extra: Si

- Satisfaccion laboral:2

- Ingreso mensual: 3000

- Antiguedad: 3

- PROBABILIDAD DE ROTACION: 0,88

Medio riesgo:

- Departamento: Ventas

- Estado civil: Divorciado

- Horas Extra: Si

- Satisfaccion laboral:3

- Ingreso mensual: 2300

- Antiguedad: 4

- PROBABILIDAD DE ROTACION: 0,35

Bajo riesgo:

- Departamento: IyD

- Estado civil: Casado

- Horas Extra: Si

- Satisfaccion laboral:4

- Ingreso mensual: 3500

- Antiguedad: 15

- PROBABILIDAD DE ROTACION: 0,22

OCTAVO PUNTO

Discuta como podría este modelo predictivo ser útil para gestionar el personal de la compañía.

# Cargar paquetes necesarios
library(rpart)      
library(rpart.plot) 
## Warning: package 'rpart.plot' was built under R version 4.4.3
library(caret)      
library(dplyr)      
library(readxl)     

# 1. Cargar los datos
df <- read_excel("Parcial estadistica.xlsx")

# 2. Convertir variables categóricas a factores y limpiar espacios
df <- df %>% mutate(
  Rotacion = as.factor(Rotacion),
  Departamento = as.factor(trimws(Departamento)),
  Estado_civil = as.factor(trimws(Estado_civil)),
  Horas_Extra = as.factor(trimws(Horas_Extra))
)

# 3. Dividir los datos en entrenamiento y prueba
set.seed(123)  
trainIndex <- createDataPartition(df$Rotacion, p = 0.7, list = FALSE)
df_train <- df[trainIndex, ]
df_test <- df[-trainIndex, ]

# 4. Entrenar el modelo
modelo <- rpart(Rotacion ~ Departamento + Estado_civil + Horas_Extra + 
                Satisfaccion_Laboral + Ingreso_Mensual + Antiguedad, 
                data = df_train, method = "class", 
                control = rpart.control(cp = 0.01))

# 5. Crear un nuevo dato de prueba
nuevo_dato <- data.frame(
  Departamento = factor("IyD", levels = levels(df_train$Departamento)),
  Estado_civil = factor("Casado", levels = levels(df_train$Estado_civil)),
  Horas_Extra = factor("Si", levels = levels(df_train$Horas_Extra)),
  Satisfaccion_Laboral = 4,   
  Ingreso_Mensual = 3500,     
  Antiguedad = 15            
)

# 6. Predecir la probabilidad de rotación
probabilidades <- predict(modelo, nuevo_dato, type = "prob")

# 7. Asignar probabilidad si no es nula
nuevo_dato <- nuevo_dato %>% mutate(
  Probabilidad = ifelse(!is.null(probabilidades) && !any(is.na(probabilidades)), probabilidades[,2], NA),
  Prediccion = case_when(
    Probabilidad >= 0.7 ~ "Alta",
    Probabilidad >= 0.3 & Probabilidad < 0.7 ~ "Media",
    Probabilidad >= 0.18 & Probabilidad < 0.3 ~ "Baja",
    TRUE ~ "Fuera de rango"
  )
)

# 8. Mostrar resultados
print(nuevo_dato)
##   Departamento Estado_civil Horas_Extra Satisfaccion_Laboral Ingreso_Mensual
## 1          IyD       Casado          Si                    4            3500
##   Antiguedad Probabilidad Prediccion
## 1         15    0.2258065       Baja
# 9. Visualizar el árbol (opcional)
rpart.plot(modelo, type = 3, extra = 104, fallen.leaves = TRUE)

Este modelo predictivo es una herramienta valiosa para la gestión del personal, ya que permite identificar a los empleados con mayor riesgo de rotación y tomar decisiones estratégicas para mejorar la retención. Al clasificar a los empleados en niveles de riesgo bajo, medio y alto, la empresa puede anticiparse a posibles renuncias y diseñar acciones específicas, como mejorar la satisfacción laboral, ajustar los salarios o regular las horas extra. Además, el modelo optimiza la planificación de recursos humanos, reduciendo costos asociados a la rotación y permitiendo una contratación más eficiente. Su implementación también facilita la creación de un sistema de alerta temprana, ayudando a los gerentes a intervenir oportunamente antes de que un empleado decida dejar la compañía. En conclusión, este modelo no solo ayuda a prevenir la rotación, sino que también mejora la estabilidad y productividad organizacional, promoviendo un ambiente laboral más eficiente y sostenible. parafraseame esto