Explorar, definir, y describir cuáles son los principales factores del clima organizacional de FORM que propician la satisfacción y/o no satisfacción de trabajar en dicha empresa.
1-¿La distancia entre la residencia del empleado y FORM, es un factor para que se den de baja de la empresa?
2-¿Cuál es el Estado civil de los empleados y esto tiene relevancia en quién se dio de baja?
3-Media, mediana y moda de la duración de los empleados en FORM.
4-¿Es más probable que un empleado se dé de baja si tiene un puesto más abajo?
5-¿Cuál fue el motivo más recurrente por el cual los empleados voluntariamente renunciaban de FORM?
#Insertar nueva base de datos
library(readr)
base_de_datos_eq_2 <- read_csv("bd form eq 2.csv")
## Rows: 280 Columns: 10
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (6): colonia, estado_civil, tipo_de_baja, puesto, genero, rango_de_edad
## dbl (4): N_de_empleado, año_de_nacimiento, edad, dias_en_la_empresa
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
#Visualización de los primeros 6 renglones
primeros_renglones <- head(base_de_datos_eq_2, n = 6)
# Tamaño de la muestra
n <- length(base_de_datos_eq_2$N_de_empleado)
cat("Tamaño de la muestra: ", n, "\n")
## Tamaño de la muestra: 280
# Media
media <- mean(base_de_datos_eq_2$dias_en_la_empresa)
cat("Media: ", media, "\n")
## Media: NA
# Mediana
mediana <- median(base_de_datos_eq_2$dias_en_la_empresa)
cat("Mediana: ", mediana, "\n")
## Mediana: NA
# Rango de días en la empresa
rango <- max(base_de_datos_eq_2$dias_en_la_empresa) - min(base_de_datos_eq_2$dias_en_la_empresa)
cat("Rango: ", rango, "\n")
## Rango: NA
# Varianza
varianza <- var(base_de_datos_eq_2$dias_en_la_empresa)
cat("Varianza: ", varianza, "\n")
## Varianza: NA
# Desviación estándar
desviacion_estandar <- sqrt(varianza)
cat("Desviación estándar: ", desviacion_estandar, "\n")
## Desviación estándar: NA
#Graficos
library(ggplot2)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.2 ✔ stringr 1.5.0
## ✔ forcats 1.0.0 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
#Grafica de barras del estado civil
ggplot(base_de_datos_eq_2, aes(estado_civil)) + geom_bar(aes(fill=estado_civil), width=0.5)+
xlab("Estado Civil") +
ylab("Numero de Empleados")+ ggtitle("Bajas por Estado Civil")
La gráfica representa el estado civil de los empleados de FORM, con una columna para cada género en cada estado civil, excepto para la Unión Libre. Según la gráfica, la mayoría de los empleados son mujeres solteras, mientras que la minoría son mujeres casadas. Esto podría sugerir que la empresa tiene una fuerza laboral joven o que hay una tendencia hacia el matrimonio tardío entre las mujeres en la empresa. Este fenomeno tambien ocurre para los hombres, pero a un menor grado.
#Grafica de barras por puesto
ggplot(base_de_datos_eq_2, aes(puesto)) + geom_bar(aes(fill=puesto), width=0.5)+
xlab("Puesto de trabajo") +
ylab("Cantidad de empleados") +
theme(axis.text.x = element_text(angle = 90, hjust = 1))+ ggtitle("Cantidad de Empleados por Puesto")
Este gráfico muestra la relación entre el tipo de puesto y la cantidad de empleados en la empresa. Como se puede observar, el puesto de Ayudante General ocupa el primer lugar en términos de cantidad de empleados, con una diferencia significativa respecto a los demás puestos. Esto puede presentar un desafío al analizar el tipo de bajas por puesto, ya que la cantidad de empleados en otros puestos es considerablemente menor.
ggplot(base_de_datos_eq_2, aes(x = puesto, fill = tipo_de_baja)) +
geom_bar(position = "stack") +
xlab("Puesto de trabajo") +
ylab("Cantidad de Bajas") +
labs(fill = "Motivo de baja") +
theme(axis.text.x = element_text(angle = 90, hjust = 1))+ ggtitle("Motivos de Baja por Puestos")
Este gráfico ilustra la relación entre el tipo de baja y el puesto correspondiente. Como se puede observar, la mayoría de las bajas se debieron a separaciones voluntarias. El puesto de trabajo que registró más bajas fue el de ayudante general. Sin embargo, este resultado era esperado, ya que la mayoría de los empleados de la empresa ocupan este puesto.
#Gráfico de barras por rangos de edad
ggplot(base_de_datos_eq_2, aes(rango_de_edad)) + geom_bar(aes(fill=rango_de_edad), width=0.5)+
xlab("Rango de edad") +
ylab("Cantidad de empleados dentro del rango") +
theme(axis.text.x = element_text(angle = 90, hjust = 1))+ ggtitle("Cantidad de Empleados dentro del rango")
Para esta gráfica segmentamos en diferentes rangos de edad, Jovenes:
18-25 años Adultos Jovenes: 26-35 Adultos: 36-50 Adultos Mayores:+50
Esto nos sirve para identificar que rango de edad tenemos mas dentro de
la empresa lo cual es fundamental para las implementaciones y
recomendaciones que se haran, ya que deben estar adecuadas a las
generaciones a quienes van dirigidas para que se puedan efectuar.
# Crear una tabla de contingencia
contingencia <- table(base_de_datos_eq_2$puesto, base_de_datos_eq_2$genero)
# Imprimir la tabla de contingencia
contingencia
##
## Femenino Masculino
## Auxiliar de Embarques 1 0
## Ayu. De Pintor 0 1
## Ayudante de Embarques 0 5
## Ayudante de Soldador 0 2
## Ayudante General 141 94
## Ayudante general-Cedis 0 2
## Calidad 1 0
## Chofer 0 1
## Chofer Gestor 0 2
## Costurera 2 0
## Costurero 0 1
## Enfermera 1 0
## Gestor 0 1
## Guardia de Seguridad 0 1
## Inspector de calidad 1 1
## Inspectora De Calidad 1 0
## Limpieza 1 0
## Materialista 0 2
## Montacarguista 0 4
## Pintor 0 2
## Residente 0 3
## Residente YanFeng Cienega 0 1
## Soldador 0 7
Basándonos en la información presentada en la tabla, podemos asumir que hay una mayor cantidad de empleados femeninos en el puesto de “Ayudante General” en comparación con los empleados masculinos. También podemos observar que hay algunos puestos que son ocupados exclusivamente por empleados de un solo género, como “Auxiliar de Embarques” y “Calidad” que son ocupados solo por empleadas femeninas, mientras que puestos como “Ayu. De Pintor” y “Ayudante de Soldador” son ocupados solo por empleados masculinos.
# Crear una tabla de frecuencias para la variable tipo de baja
frecuencias <- table(base_de_datos_eq_2$tipo_de_baja)
# Convertir la tabla de frecuencias en un data frame
frecuencias_df <- as.data.frame(frecuencias)
# Renombrar las columnas del data frame
colnames(frecuencias_df) <- c("Tipo de baja", "Cantidad")
# Imprimir el data frame
frecuencias_df
## Tipo de baja Cantidad
## 1 Inducida 12
## 2 Inducida (Faltas no dio los tiempos) 1
## 3 Inducida (Faltas) 2
## 4 Inducida. 1
## 5 Separacion voluntaria 263
Hay 12 empleados que han experimentado una baja inducida, mientras que hay 1 empleado que ha experimentado una baja inducida debido a faltas y no cumplir con los tiempos. El tipo de baja con la mayor cantidad de empleados es la “Separación voluntaria”, con 263 empleados.
Otro aspecto a solicitar al socio formador sería el estandarizar el formato de la base de datos con el fin de que exista una igualdad en la forma en la que se muestran los datos de cada variable.
Con el fin de hacer un análisis estadístico más preciso acompañado de gráficas y tablas, sería ideal contar con una mayor cantidad de variables numéricas.
En el caso de las bajas inducidas, si la organización cuenta con un sistema de evaluación de desempeño, se podría incluir una puntuación numérica para determinar si el desempeño del empleado fue factor para que se le diera de baja de la organización. En caso de que fuera una baja voluntaria, se podría determinar que tan valioso era el empleado para FORM.
Así mismo, se propone realizar una variable enfocada en el clima organizacional donde en base a una puntuación numérica se evaluar la satisfacción del empleado en su día a día, y así determinar si el ambiente que predomina es un factor para salir de la empresa.
Con el fin de mejorar el EDA se recomienda agregar información y datos de fuentes secundarias. Con el fin de hacer una comparación de salarios respecto al mercado y evaluar si los salarios en FORM son competitivos respecto a la competencia, podría agregarse una variable que indique que tan arriba o que tan debajo del mercado se encuentran los salarios de la plantilla de colaboradores.
Adicionalmente, el hacer un benchmarking de la industria le daría un valor agregado al EDA para conocer tasas de rotación y practicas de recursos humanos para así comparar a la empresa respecto a sus competidores. Así se pueden detectar áreas de oportunidad y fortalezas en términos de manejo del personal.