Librerías
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.3 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.2 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.1
## ── 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
library(ggplot2)
Abrir base de datos
# file.choose()
BDD_FORM_BAJAS_2023 <- read_csv("/Users/danrwar/Desktop/Rstudio works/etapa 1/BDD_FORM_BAJAS_2023.csv")
## Rows: 279 Columns: 28
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (24): Apellidos, Nombre, Fecha de Nacimiento, Género, RFC, Fecha de Alta...
## dbl (4): No., SD, CP, Número de Télefono
##
## ℹ 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.
Seleccionar las variables de Motivo de baja y Estado Civil en un
nuevo data frame.
mbaja <- select(BDD_FORM_BAJAS_2023,`Motivo de Baja`,`Estado Civil`) %>% na.omit(mbaja)
Agrupar la categoría con diferentes nombres cambiando a el mismo
nombre
mbaja$"Motivo de Baja"[mbaja$"Motivo de Baja" == "Inducida."] <- "Inducida"
mbaja$"Motivo de Baja"[mbaja$"Motivo de Baja" == "Inducida (Faltas)"] <- "Inducida por faltas"
mbaja$"Motivo de Baja"[mbaja$"Motivo de Baja" == "Inducida (Faltas no dio los tiempos)"] <- "Inducida"
Calcular los porcentajes por categoría y estado civil
porcentajes <- mbaja %>%
group_by(`Estado Civil`, `Motivo de Baja`) %>%
summarise(Frecuencia = n()) %>%
group_by(`Estado Civil`) %>%
mutate(Pct = scales::percent(Frecuencia / sum(Frecuencia)))
## `summarise()` has grouped output by 'Estado Civil'. You can override using the
## `.groups` argument.
Crear la gráfica de barras apliadas
plot <- ggplot(porcentajes, aes(x = `Estado Civil`, y = Frecuencia, fill = `Motivo de Baja`)) +
geom_bar(stat = "identity") +
theme_minimal() +
theme(
panel.grid.major = element_line(color = "grey", linewidth = 0.4, linetype = "dotted"), # Líneas verticales
panel.grid.minor = element_line(color = "grey", linewidth = 0.4, linetype = "dotted") # Líneas horizontales
)+
ggtitle("Relación entre Motivo de Baja y Estado Civil")
Agregar etiquetas de porcentaje
plot + geom_text(aes(label = Pct), position = position_stack(vjust = 0.5),size=2)

Interpretación
Por lo que podemos ver en la gráfica, la gran mayoría de las bajas
en todas las categorías son por separación voluntaria, lo que podría
indicar una alta rotación de empleados en los trabajos de maquila o
podría ser un indicador de que hay varias áreas de oportunidad en
cuestión de amenidades, salarios, bonos, oportunidades de crecimiento en
la empresa, traslado o prestaciones que la empresa ofrece además de las
básicas dictadas por la ley.
LS0tCnRpdGxlOiAiwr9DdcOhbCBlcyBsYSByZWxhY2nDs24gZW50cmUgZWwgbW90aXZvIGRlIGJhamEgeSBlbCBlc3RhZG8gY2l2aWwgZGUgbG9zIGVtcGxlYWRvcz8iCmF1dGhvcjogIlJvZ2Vpcm8gRGFuaWVsIFJhbcOtcmV6IEdhcnphIEEwMTE3Nzg3NSIKZGF0ZTogIjIwMjMtMDktMDUiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgdG9jOiBUUlVFCiAgICB0b2NfZmxvYXQ6IFRSVUUKICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUKICAgIHRoZW1lOiAidW5pdGVkIgotLS0KIyBMaWJyZXLDrWFzCmBgYHtyfQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShnZ3Bsb3QyKQpgYGAKCiMgQWJyaXIgYmFzZSBkZSBkYXRvcwoKYGBge3J9CiMgZmlsZS5jaG9vc2UoKQpCRERfRk9STV9CQUpBU18yMDIzIDwtIHJlYWRfY3N2KCIvVXNlcnMvZGFucndhci9EZXNrdG9wL1JzdHVkaW8gd29ya3MvZXRhcGEgMS9CRERfRk9STV9CQUpBU18yMDIzLmNzdiIpCmBgYAoKIyBTZWxlY2Npb25hciBsYXMgdmFyaWFibGVzIGRlIE1vdGl2byBkZSBiYWphIHkgRXN0YWRvIENpdmlsIGVuIHVuIG51ZXZvIGRhdGEgZnJhbWUuCgpgYGB7cn0KbWJhamEgPC0gc2VsZWN0KEJERF9GT1JNX0JBSkFTXzIwMjMsYE1vdGl2byBkZSBCYWphYCxgRXN0YWRvIENpdmlsYCkgJT4lIG5hLm9taXQobWJhamEpCmBgYAoKIyBBZ3J1cGFyIGxhIGNhdGVnb3LDrWEgY29uIGRpZmVyZW50ZXMgbm9tYnJlcyBjYW1iaWFuZG8gYSBlbCBtaXNtbyBub21icmUKYGBge3J9CgptYmFqYSQiTW90aXZvIGRlIEJhamEiW21iYWphJCJNb3Rpdm8gZGUgQmFqYSIgPT0gIkluZHVjaWRhLiJdIDwtICJJbmR1Y2lkYSIKCm1iYWphJCJNb3Rpdm8gZGUgQmFqYSJbbWJhamEkIk1vdGl2byBkZSBCYWphIiA9PSAiSW5kdWNpZGEgKEZhbHRhcykiXSA8LSAiSW5kdWNpZGEgcG9yIGZhbHRhcyIKCm1iYWphJCJNb3Rpdm8gZGUgQmFqYSJbbWJhamEkIk1vdGl2byBkZSBCYWphIiA9PSAiSW5kdWNpZGEgKEZhbHRhcyBubyBkaW8gbG9zIHRpZW1wb3MpIl0gPC0gIkluZHVjaWRhIgpgYGAKCiMgQ2FsY3VsYXIgbG9zIHBvcmNlbnRhamVzIHBvciBjYXRlZ29yw61hIHkgZXN0YWRvIGNpdmlsCmBgYHtyfQpwb3JjZW50YWplcyA8LSBtYmFqYSAlPiUKICBncm91cF9ieShgRXN0YWRvIENpdmlsYCwgYE1vdGl2byBkZSBCYWphYCkgJT4lCiAgc3VtbWFyaXNlKEZyZWN1ZW5jaWEgPSBuKCkpICU+JQogIGdyb3VwX2J5KGBFc3RhZG8gQ2l2aWxgKSAlPiUKICBtdXRhdGUoUGN0ID0gc2NhbGVzOjpwZXJjZW50KEZyZWN1ZW5jaWEgLyBzdW0oRnJlY3VlbmNpYSkpKQpgYGAKCiMgQ3JlYXIgbGEgZ3LDoWZpY2EgZGUgYmFycmFzIGFwbGlhZGFzCmBgYHtyfQpwbG90IDwtIGdncGxvdChwb3JjZW50YWplcywgYWVzKHggPSBgRXN0YWRvIENpdmlsYCwgeSA9IEZyZWN1ZW5jaWEsIGZpbGwgPSBgTW90aXZvIGRlIEJhamFgKSkgKwogIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiKSArCiAgdGhlbWVfbWluaW1hbCgpICsKICB0aGVtZSgKICAgIHBhbmVsLmdyaWQubWFqb3IgPSBlbGVtZW50X2xpbmUoY29sb3IgPSAiZ3JleSIsIGxpbmV3aWR0aCA9IDAuNCwgbGluZXR5cGUgPSAiZG90dGVkIiksICAjIEzDrW5lYXMgdmVydGljYWxlcwogICAgcGFuZWwuZ3JpZC5taW5vciA9IGVsZW1lbnRfbGluZShjb2xvciA9ICJncmV5IiwgbGluZXdpZHRoID0gMC40LCBsaW5ldHlwZSA9ICJkb3R0ZWQiKSAgIyBMw61uZWFzIGhvcml6b250YWxlcwogICkrCiAgZ2d0aXRsZSgiUmVsYWNpw7NuIGVudHJlIE1vdGl2byBkZSBCYWphIHkgRXN0YWRvIENpdmlsIikKCmBgYAoKIyBBZ3JlZ2FyIGV0aXF1ZXRhcyBkZSBwb3JjZW50YWplCmBgYHtyfQpwbG90ICsgZ2VvbV90ZXh0KGFlcyhsYWJlbCA9IFBjdCksIHBvc2l0aW9uID0gcG9zaXRpb25fc3RhY2sodmp1c3QgPSAwLjUpLHNpemU9MikKYGBgCgojIEludGVycHJldGFjacOzbgojIyMjIFBvciBsbyBxdWUgcG9kZW1vcyB2ZXIgZW4gbGEgZ3LDoWZpY2EsIGxhIGdyYW4gbWF5b3LDrWEgZGUgbGFzIGJhamFzIGVuIHRvZGFzIGxhcyBjYXRlZ29yw61hcyBzb24gcG9yIHNlcGFyYWNpw7NuIHZvbHVudGFyaWEsIGxvIHF1ZSBwb2Ryw61hIGluZGljYXIgdW5hIGFsdGEgcm90YWNpw7NuIGRlIGVtcGxlYWRvcyBlbiBsb3MgdHJhYmFqb3MgZGUgbWFxdWlsYSBvIHBvZHLDrWEgc2VyIHVuIGluZGljYWRvciBkZSBxdWUgaGF5IHZhcmlhcyDDoXJlYXMgZGUgb3BvcnR1bmlkYWQgZW4gY3Vlc3Rpw7NuIGRlIGFtZW5pZGFkZXMsIHNhbGFyaW9zLCBib25vcywgb3BvcnR1bmlkYWRlcyBkZSBjcmVjaW1pZW50byBlbiBsYSBlbXByZXNhLCB0cmFzbGFkbyBvIHByZXN0YWNpb25lcyBxdWUgbGEgZW1wcmVzYSBvZnJlY2UgYWRlbcOhcyBkZSBsYXMgYsOhc2ljYXMgZGljdGFkYXMgcG9yIGxhIGxleS4KCgo=