Durante este archivo se realizará una Regresión Lineal Múltiple a la base de datos que al inicio se llamaba “Encuesta_Datos_FORM_Fall2023” y pasó a ser “RH_FORM_NUMERICAS” después de haber sido limpiada, esto con el fin de poder saber si las preguntas que se realizaron a los empleados son realmente significativas y nos podrían ayudar a saber si estos renunciarán pronto, en caso de que las preguntas no contengan una relación importante con la taza de rotación de empleados se recomendarán algunos nuevos valores para que la empresa FORM continúe monitoreando a sus colaboradores y logre identificar información de valor
library(readxl)
data <- read_xlsx("C:\\Users\\LuisD\\Documents\\Concentración\\RETO\\RH_FORM_NUMERICAS.xlsx")
summary(data)
## Antiguedad_meses Razon_ingreso Percepcion_salario Prestaciones
## Min. : 1.00 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.: 1.00 1st Qu.:2.000 1st Qu.:3.000 1st Qu.:2.000
## Median : 7.00 Median :4.000 Median :4.000 Median :4.000
## Mean :13.61 Mean :3.961 Mean :3.796 Mean :3.291
## 3rd Qu.:27.50 3rd Qu.:5.000 3rd Qu.:5.000 3rd Qu.:5.000
## Max. :36.00 Max. :6.000 Max. :5.000 Max. :5.000
## Jornada_laboral Herramientas Temperatura Estres_nivel Transporte
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.00
## 1st Qu.:4.000 1st Qu.:3.000 1st Qu.:1.000 1st Qu.:3.000 1st Qu.:4.00
## Median :5.000 Median :5.000 Median :3.000 Median :4.000 Median :5.00
## Mean :4.165 Mean :3.903 Mean :3.107 Mean :3.718 Mean :4.01
## 3rd Qu.:5.000 3rd Qu.:5.000 3rd Qu.:5.000 3rd Qu.:5.000 3rd Qu.:5.00
## Max. :5.000 Max. :5.000 Max. :5.000 Max. :5.000 Max. :5.00
## Zona_trabajo Sigue_trabajando situacion_conflicto Insatisfaccion
## Min. :1.00 Min. :1.000 Min. :1.000 Length:103
## 1st Qu.:4.00 1st Qu.:3.000 1st Qu.:1.000 Class :character
## Median :5.00 Median :5.000 Median :1.000 Mode :character
## Mean :4.33 Mean :4.019 Mean :1.165
## 3rd Qu.:5.00 3rd Qu.:5.000 3rd Qu.:1.000
## Max. :5.00 Max. :5.000 Max. :3.000
## Percepcion Edad Genero Estado_civil
## Length:103 Min. :18.00 Min. :1.00 Min. :1.000
## Class :character 1st Qu.:25.00 1st Qu.:1.00 1st Qu.:1.000
## Mode :character Median :33.00 Median :1.00 Median :2.000
## Mean :35.49 Mean :1.35 Mean :1.951
## 3rd Qu.:45.00 3rd Qu.:2.00 3rd Qu.:2.000
## Max. :68.00 Max. :2.00 Max. :4.000
## Municipio Escolaridad Depend_econom Puesto
## Min. :1.000 Min. :1.000 Min. :0.000 Min. :1.00
## 1st Qu.:1.000 1st Qu.:2.000 1st Qu.:0.000 1st Qu.:1.00
## Median :1.000 Median :3.000 Median :1.000 Median :1.00
## Mean :1.757 Mean :2.437 Mean :1.068 Mean :1.67
## 3rd Qu.:2.000 3rd Qu.:3.000 3rd Qu.:2.000 3rd Qu.:2.00
## Max. :6.000 Max. :5.000 Max. :3.000 Max. :3.00
data$Sigue_trabajando <- ifelse(data$Sigue_trabajando %in% c(1, 2, 3,4), 1,
ifelse(data$Sigue_trabajando %in% c(5), 2, data$Sigue_trabajando))
#Tenemos que contar cuantos registros hay que renuncian (1) y que siguen trabajando (2)
conteo <- table(data$Sigue_trabajando)
conteo
##
## 1 2
## 49 54
#for (col in colnames(data)) {
# if (is.numeric(data[[col]])) {
# hist(data[[col]], main=paste("Histograma de", col), xlab=col, col='lightblue', #border='black')
# } else {
# Si la columna no es numérica, mostrar una advertencia
# warning(paste("La columna", col, "no es numérica y no se puede graficar un histograma."))
# }
#}
Una vez analizado visualmente los histogramas de las respuestas obtenidas podemos hacer una berve evaluación para saber cuales de estas podemos incluir sin problema a nuestro análisis inicial
Es importante destacar que primero será analizado todo el dataset tomando en cuenta la variable sigue_trabajando, con el fin de saber que tanto influyen las preguntas que fueron realizadas a los empleados a la hora de renunciar
modelo_rlm <- lm(Sigue_trabajando ~ Razon_ingreso + Percepcion_salario + Prestaciones + Estres_nivel + situacion_conflicto + Depend_econom + Herramientas + Escolaridad + Puesto, data = data)
summary(modelo_rlm)
##
## Call:
## lm(formula = Sigue_trabajando ~ Razon_ingreso + Percepcion_salario +
## Prestaciones + Estres_nivel + situacion_conflicto + Depend_econom +
## Herramientas + Escolaridad + Puesto, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.01657 -0.34499 -0.00064 0.34785 0.76823
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.795144 0.357585 2.224 0.02859 *
## Razon_ingreso -0.038112 0.027723 -1.375 0.17252
## Percepcion_salario 0.068599 0.040664 1.687 0.09496 .
## Prestaciones 0.094300 0.033160 2.844 0.00548 **
## Estres_nivel 0.020170 0.034436 0.586 0.55948
## situacion_conflicto -0.026005 0.119356 -0.218 0.82800
## Depend_econom 0.015348 0.043180 0.355 0.72306
## Herramientas -0.002882 0.033594 -0.086 0.93183
## Escolaridad 0.100059 0.054790 1.826 0.07103 .
## Puesto 0.009365 0.068863 0.136 0.89212
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4466 on 93 degrees of freedom
## Multiple R-squared: 0.2778, Adjusted R-squared: 0.2079
## F-statistic: 3.975 on 9 and 93 DF, p-value: 0.0002561
Como podemos ver en el summary del modelo no hay una relación directa entre las preguntas que se les hicieron a los empleados de FORM y el resultado para saber si estos mismos piensan renunciar en un furuto cercano, por lo que será necesario reformular la encuesta con el fin de moniterear periodicamente a los empleados o inclusive realizar algunas de estas preguntas a la hora de las entrevistas (incluyéndolas en el chatbot) para saber si el candidato tiene una alta probbilidad de formar parte del grupo de personas que renuncian o piensan en hacerlo