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 y realmente no se
logra ver una correlación entre el estado civil de la persona y el
motivo de baja, lo que podría indicar una alta rotación de empleados en
los trabajos de maquila en general 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+JQogIGdyb3VwX2J5KGBFc3RhZG8gQ2l2aWxgKSAlPiUKICBtdXRhdGUoUGN0ID0gc2NhbGVzOjpwZXJjZW50KEZyZWN1ZW5jaWEgLyBzdW0oRnJlY3VlbmNpYSkpKQpgYGAKCiMgQ3JlYXIgbGEgZ3LDoWZpY2EgZGUgYmFycmFzIGFwbGlhZGFzCmBgYHtyfQpwbG90IDwtIGdncGxvdChwb3JjZW50YWplcywgYWVzKHggPSBgRXN0YWRvIENpdmlsYCwgeSA9IEZyZWN1ZW5jaWEsIGZpbGwgPSBgTW90aXZvIGRlIEJhamFgKSkgKwogIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiKSArCiAgdGhlbWVfbWluaW1hbCgpICsKICB0aGVtZSgKICAgIHBhbmVsLmdyaWQubWFqb3IgPSBlbGVtZW50X2xpbmUoY29sb3IgPSAiZ3JleSIsIGxpbmV3aWR0aCA9IDAuNCwgbGluZXR5cGUgPSAiZG90dGVkIiksICAjIEzDrW5lYXMgdmVydGljYWxlcwogICAgcGFuZWwuZ3JpZC5taW5vciA9IGVsZW1lbnRfbGluZShjb2xvciA9ICJncmV5IiwgbGluZXdpZHRoID0gMC40LCBsaW5ldHlwZSA9ICJkb3R0ZWQiKSAgIyBMw61uZWFzIGhvcml6b250YWxlcwogICkrCiAgZ2d0aXRsZSgiUmVsYWNpw7NuIGVudHJlIE1vdGl2byBkZSBCYWphIHkgRXN0YWRvIENpdmlsIikKCmBgYAoKIyBBZ3JlZ2FyIGV0aXF1ZXRhcyBkZSBwb3JjZW50YWplCmBgYHtyfQpwbG90ICsgZ2VvbV90ZXh0KGFlcyhsYWJlbCA9IFBjdCksIHBvc2l0aW9uID0gcG9zaXRpb25fc3RhY2sodmp1c3QgPSAwLjUpLHNpemU9MikKYGBgCgojIEludGVycHJldGFjacOzbgojIyMjIFBvciBsbyBxdWUgcG9kZW1vcyB2ZXIgZW4gbGEgZ3LDoWZpY2EsIGxhIGdyYW4gbWF5b3LDrWEgZGUgbGFzIGJhamFzIGVuIHRvZGFzIGxhcyBjYXRlZ29yw61hcyBzb24gcG9yIHNlcGFyYWNpw7NuIHZvbHVudGFyaWEgeSByZWFsbWVudGUgbm8gc2UgbG9ncmEgdmVyIHVuYSBjb3JyZWxhY2nDs24gZW50cmUgZWwgZXN0YWRvIGNpdmlsIGRlIGxhIHBlcnNvbmEgeSBlbCBtb3Rpdm8gZGUgYmFqYSwgbG8gcXVlIHBvZHLDrWEgaW5kaWNhciB1bmEgYWx0YSByb3RhY2nDs24gZGUgZW1wbGVhZG9zIGVuIGxvcyB0cmFiYWpvcyBkZSBtYXF1aWxhIGVuIGdlbmVyYWwgbyBwb2Ryw61hIHNlciB1biBpbmRpY2Fkb3IgZGUgcXVlIGhheSB2YXJpYXMgw6FyZWFzIGRlIG9wb3J0dW5pZGFkIGVuIGN1ZXN0acOzbiBkZSBhbWVuaWRhZGVzLCBzYWxhcmlvcywgYm9ub3MsIG9wb3J0dW5pZGFkZXMgZGUgY3JlY2ltaWVudG8gZW4gbGEgZW1wcmVzYSwgdHJhc2xhZG8gbyBwcmVzdGFjaW9uZXMgcXVlIGxhIGVtcHJlc2Egb2ZyZWNlIGFkZW3DoXMgZGUgbGFzIGLDoXNpY2FzIGRpY3RhZGFzIHBvciBsYSBsZXkuCgoK