Este documento tiene como objetivo mostrar qué meses y días son los de más ausentismo y por qué; pretende brindar recomendaciones para que la tasa de ausentismo sea mínima en la empresa.

## [1] "Absenteeism_at_work (1).xlsx"        
## [2] "Absenteeism_at_work.csv"             
## [3] "REPORTE-FINAL-TRABAJO-AUTÓNOMO.html" 
## [4] "REPORTE-FINAL-TRABAJO-AUTÓNOMO.Rmd"  
## [5] "REPORTE FINAL-TRABAJO AUTÓNOMO.Rmd"  
## [6] "TRABAJO AUTONOMO R- ALEGRIA_EMILIA.R"
## [1] "Absenteeism_at_work" "Razones "
## Rows: 740
## Columns: 22
## $ ID                                      <dbl> 11, 36, 3, 7, 11, 3, 10, 20, 1~
## $ Id_Razon                                <dbl> 26, 13, 23, 7, 23, 23, 22, 23,~
## $ Razón                                   <chr> "Ausencia injustificada", "Enf~
## $ `Mes de ausencia`                       <dbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, ~
## $ `Día de la semana`                      <dbl> 3, 3, 4, 5, 5, 6, 6, 6, 2, 2, ~
## $ Estación                                <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ~
## $ `Gasto de Transporte`                   <dbl> 289, 118, 179, 279, 289, 179, ~
## $ `Distancia de la residencia al trabajo` <dbl> 36, 13, 51, 5, 36, 51, 52, 50,~
## $ `Tiempo de servicio`                    <dbl> 13, 18, 18, 14, 13, 18, 3, 11,~
## $ Edad                                    <dbl> 33, 50, 38, 39, 33, 38, 28, 36~
## $ `\r\nCarga de trabajo Promedio / día`   <dbl> 239554, 239554, 239554, 239554~
## $ `Alcanzar la meta`                      <dbl> 97, 97, 97, 97, 97, 97, 97, 97~
## $ `Fallo disciplinario`                   <dbl> 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, ~
## $ Educación                               <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, ~
## $ Hijos                                   <dbl> 2, 1, 0, 2, 2, 0, 1, 4, 2, 1, ~
## $ `Bebebor Social`                        <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, ~
## $ `Fumador Social`                        <dbl> 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ~
## $ Mascota                                 <dbl> 1, 0, 0, 0, 1, 0, 4, 0, 0, 1, ~
## $ Peso                                    <dbl> 90, 98, 89, 68, 90, 89, 80, 65~
## $ Altura                                  <dbl> 172, 178, 170, 168, 172, 170, ~
## $ `\r\nÍndice de masa corporal`           <dbl> 30, 31, 31, 24, 30, 31, 27, 23~
## $ `Tiempo de absentismo en horas`         <dbl> 4, 0, 2, 4, 2, 2, 8, 4, 40, 8,~
## Rows: 740
## Columns: 18
## $ ID                                    <dbl> 11, 36, 3, 7, 11, 3, 10, 20, 14,~
## $ Id_Razon                              <dbl> 26, 13, 23, 7, 23, 23, 22, 23, 1~
## $ Razón                                 <chr> "Ausencia injustificada", "Enfer~
## $ `Mes de ausencia`                     <dbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,~
## $ `Día de la semana`                    <dbl> 3, 3, 4, 5, 5, 6, 6, 6, 2, 2, 2,~
## $ Estación                              <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,~
## $ `Gasto de Transporte`                 <dbl> 289, 118, 179, 279, 289, 179, 36~
## $ `Tiempo de servicio`                  <dbl> 13, 18, 18, 14, 13, 18, 3, 11, 1~
## $ Edad                                  <dbl> 33, 50, 38, 39, 33, 38, 28, 36, ~
## $ `\r\nCarga de trabajo Promedio / día` <dbl> 239554, 239554, 239554, 239554, ~
## $ `Alcanzar la meta`                    <dbl> 97, 97, 97, 97, 97, 97, 97, 97, ~
## $ `Fallo disciplinario`                 <dbl> 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,~
## $ Educación                             <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1,~
## $ Hijos                                 <dbl> 2, 1, 0, 2, 2, 0, 1, 4, 2, 1, 4,~
## $ `Bebebor Social`                      <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1,~
## $ Peso                                  <dbl> 90, 98, 89, 68, 90, 89, 80, 65, ~
## $ `\r\nÍndice de masa corporal`         <dbl> 30, 31, 31, 24, 30, 31, 27, 23, ~
## $ `Tiempo de absentismo en horas`       <dbl> 4, 0, 2, 4, 2, 2, 8, 4, 40, 8, 8~
## Rows: 740
## Columns: 18
## $ ID                                    <dbl> 11, 36, 3, 7, 11, 3, 10, 20, 14,~
## $ Id_Razon                              <dbl> 26, 13, 23, 7, 23, 23, 22, 23, 1~
## $ Razón                                 <chr> "Ausencia injustificada", "Enfer~
## $ `Mes de ausencia`                     <dbl> 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,~
## $ `Día de la semana`                    <dbl> 3, 3, 4, 5, 5, 6, 6, 6, 2, 2, 2,~
## $ Estación                              <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,~
## $ `Gasto de Transporte`                 <fct> 289, 118, 179, 279, 289, 179, 36~
## $ `Tiempo de servicio`                  <dbl> 13, 18, 18, 14, 13, 18, 3, 11, 1~
## $ Edad                                  <fct> 33, 50, 38, 39, 33, 38, 28, 36, ~
## $ `\r\nCarga de trabajo Promedio / día` <dbl> 239554, 239554, 239554, 239554, ~
## $ `Alcanzar la meta`                    <dbl> 97, 97, 97, 97, 97, 97, 97, 97, ~
## $ `Fallo disciplinario`                 <fct> 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,~
## $ Educación                             <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1,~
## $ Hijos                                 <fct> 2, 1, 0, 2, 2, 0, 1, 4, 2, 1, 4,~
## $ `Bebebor Social`                      <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1,~
## $ Peso                                  <dbl> 90, 98, 89, 68, 90, 89, 80, 65, ~
## $ `\r\nÍndice de masa corporal`         <dbl> 30, 31, 31, 24, 30, 31, 27, 23, ~
## $ `Tiempo de absentismo en horas`       <dbl> 4, 0, 2, 4, 2, 2, 8, 4, 40, 8, 8~

CREACIÓN DE VARIABLES

Variable para saber cuántas horas se faltaron en total

Tabla_datos_04 <- Tabla_datos_03 %>% 
  group_by(Razón) %>% mutate(Conteo_Faltas_Horas = sum(`Tiempo de absentismo en horas`)) %>% ungroup()

Idenficación por texto del “bebedor social”

Cambio de 1 a “SI” Y 0 “NO”

Tabla_datos_08 <- Tabla_datos_07 %>% group_by(`Bebebor Social`) %>% mutate(Bebedor_Social = ifelse(`Bebebor Social` == 1, "SI", "NO")) %>%
  ungroup()


Tabla_datos_09 <- Tabla_datos_08 %>% select(-`Bebebor Social`)

Idenficación por texto del “Tiempo de servicio”

Cambio de >10 a “Trabajador Antiguo” Y <10 “Trabajador Nuevo”

Tabla_datos_10 <- Tabla_datos_09 %>% group_by(`Tiempo de servicio`) %>%
  mutate(Antiguedad_Trabajador = ifelse(`Tiempo de servicio` > 10, "Trabajador Antiguo", "Trabajador Nuevo")) %>% ungroup()
view(Tabla_datos_10)

Tabla_datos_11 <- Tabla_datos_10 %>% select(-`Tiempo de servicio`)

Conteo de veces de faltas por mes

Tabla_datos_12 <- Tabla_datos_11 %>% group_by(Razón, `Mes de ausencia`) %>% 
  mutate(Conteo_Faltas_Mes = sum(Conteo_Faltas_Horas)) %>% ungroup()


Tabla_datos_13 <- Tabla_datos_12 %>% mutate(Faltas_Mes = ifelse(Conteo_Faltas_Horas >= 6, 1, 0))


Tabla_datos_14 <- Tabla_datos_13 %>% group_by(`Mes de ausencia`, Razón) %>% 
  mutate(Conteo_Faltas_por_mes = sum(Faltas_Mes)) %>% ungroup()

Ordenar faltas por mes de manera descendente

Tabla_datos_15 <- Tabla_datos_14 %>% group_by(Conteo_Faltas_por_mes) %>% arrange(-Conteo_Faltas_por_mes) %>% ungroup()

VISUALIZACIÓM

Qué mes tiene más faltas

Tabla_datos_17 %>%
  count(`Mes de ausencia`) %>% arrange(-n)
## # A tibble: 9 x 2
##   `Mes de ausencia`     n
##               <int> <int>
## 1                 7   209
## 2                 8   180
## 3                 6   129
## 4                 5   119
## 5                 2    69
## 6                 9    22
## 7                 3     8
## 8                11     3
## 9                 1     1

Que día tiene más faltas

Tabla_datos_17 %>%
  count(`Día de la semana`) %>% arrange(-n)
## # A tibble: 5 x 2
##   `Día de la semana`     n
##                <dbl> <int>
## 1                  2   161
## 2                  4   156
## 3                  3   154
## 4                  6   144
## 5                  5   125

Cuál razón es por la que se falta más

Tabla_datos_17 %>%
  count(Razón) %>% arrange(-n)
## # A tibble: 27 x 2
##    Razón                                                                       n
##    <chr>                                                                   <int>
##  1 Consulta médica                                                           159
##  2 Consulta dental                                                           112
##  3 Fisioterapia                                                               69
##  4 Enfermedades del sistema musculoesquelético y del tejido conectivo         58
##  5 Ausencia injustificada                                                     44
##  6 Lesiones, intoxicaciones y algunas otras consecuencias de causas exter~    40
##  7 Seguimiento del paciente                                                   38
##  8 Examen de laboratorio                                                      37
##  9 Enfermedades del sistema digestivo                                         26
## 10 Enfermedades del sistema respiratorio                                      25
## # ... with 17 more rows
## # A tibble: 22 x 2
##    Edad      n
##    <fct> <int>
##  1 28      117
##  2 38      113
##  3 37       78
##  4 40       58
##  5 33       51
##  6 36       50
##  7 30       46
##  8 50       37
##  9 41       34
## 10 34       29
## # ... with 12 more rows

Grafico para saber qué mes tiene mas horas de ausencia.

Tabla_datos_17 %>% group_by(`Mes de ausencia`, Conteo_Faltas_por_mes) %>% ungroup()
## # A tibble: 740 x 8
##    Razón   `Mes de ausencia` `Día de la seman~ Conteo_Faltas_p~ Conteo_Faltas_H~
##    <chr>               <int>             <dbl>            <dbl>            <dbl>
##  1 Consul~                 8                 4              159              424
##  2 Consul~                 8                 5              159              424
##  3 Consul~                 8                 6              159              424
##  4 Consul~                 8                 6              159              424
##  5 Consul~                 8                 4              159              424
##  6 Consul~                 8                 6              159              424
##  7 Consul~                 8                 4              159              424
##  8 Consul~                 8                 3              159              424
##  9 Consul~                 8                 6              159              424
## 10 Consul~                 8                 5              159              424
## # ... with 730 more rows, and 3 more variables: Edad <fct>,
## #   Bebedor_Social <chr>, Antiguedad_Trabajador <chr>
  bar_mes_horas<-ggplot(data = Tabla_datos_17,
                   mapping = aes(x= `Mes de ausencia`, y= Conteo_Faltas_por_mes ))  +
    geom_line(color="purple")  +
    ggtitle("Faltas en horas por cada mes") +
    ylab("Conteo de faltas por mes")  +
    xlab("Mes de ausencia")+ scale_x_continuous(breaks = c(1,2,3,4,5,6,7,8,9,10,11,12))

  
  bar_mes_horas

Conclusiones:

  1. Podemos observar que el mes con más horas de ausencia es el mes de Julio.
  2. El mes con menos horas de ausencia es el mes de octubre y noviembre.

Grafico para saber que día se tiene más faltas

Tabla_datos_18 <- Tabla_datos_17 %>%
 
     group_by(`Día de la semana`) %>% count(`Día de la semana`) %>% arrange(-n) %>% ungroup()


  bar_dia<-ggplot(data = Tabla_datos_18,
                   mapping = aes(x= `Día de la semana`, y= n))  +
    geom_line(color="purple")  +
    ggtitle("Conteo de faltas por dia") +
    ylab("Numero de faltas")  +
    xlab("Día de la semana")
bar_dia

Conclusiones:

  1. Podemos concluir que el día que se tiene más faltas es el lunes.
  2. El día con menos faltas es el día jueves y para el día viernes las faltas empiezan a crecer nuevamente.

Grafica para saber cuál razón es por la que se falta más horas

Tabla_datos_19 <- Tabla_datos_17 %>% group_by(Razón, Conteo_Faltas_Horas) %>% 
    count(Razón, Conteo_Faltas_Horas) %>%
mutate(Razón=str_replace(Razón,"Ausencia injustificada", "Injustificada")) %>%
  mutate(Razón=str_replace(Razón,"Consulta ciertas afecciones originadas en el período perinatal", "Embarazo"))%>%
  mutate(Razón=str_replace(Razón,"Consulta Ciertas enfermedades infecciosas y parasitarias", "Infecciones")) %>%
  mutate(Razón=str_replace(Razón,"Embarazo, parto y puerperio", "Parto")) %>%
  mutate(Razón=str_replace(Razón,"Enfermedades de la piel y del tejido subcutáneo.", "Enfermedades piel")) %>%
  mutate(Razón=str_replace(Razón,"Enfermedades de la sangre y de los órganos hematopoyéticos y determinados trastornos que afectan al mecanismo inmunitario.", "Enfermedades sangre")) %>%
  mutate(Razón=str_replace(Razón,"Malformaciones congénitas, deformaciones y anomalías cromosómicas", "Congenitas")) %>%
  mutate(Razón=str_replace(Razón,"Enfermedades endocrinas, nutricionales y metabólicas", "Enfermedades nutricionales")) %>%
  mutate(Razón=str_replace(Razón,"Enfermedades del sistema musculoesquelético y del tejido conectivo", "Enfermedades huesos")) %>%
  mutate(Razón=str_replace(Razón,"Factores que influyen en el estado de salud y el contacto con los servicios de salud.", "Otros")) %>%
  mutate(Razón=str_replace(Razón,"Lesiones, intoxicaciones y algunas otras consecuencias de causas externas", "Lesiones")) %>%
  mutate(Razón=str_replace(Razón,"Síntomas, signos y hallazgos clínicos y de laboratorio anormales, no clasificados en otra parte", "Examenes Laboratorio")) %>%
  mutate(Razón=str_replace(Razón,"Enfermedades del oído y apófisis mastoides", "Enfermedades oido")) %>%
  mutate(Razón=str_replace(Razón,"Trastornos mentales y del comportamiento", "Trastornos mentales")) %>%
  mutate(Razón=str_replace(Razón,"Enfermedades", "E.")) %>%
  mutate(Razón=str_remove(Razón,"del")) %>%
  mutate(Razón=str_replace(Razón,"sistema", "sist.")) %>%
           ungroup()
view(Tabla_datos_19)

col_razonHoras <- ggplot(data = Tabla_datos_19, mapping = aes(x = Razón, y = Conteo_Faltas_Horas))+
  geom_col(fill = "purple",
           alpha = 0.5,
           color = "purple") +
  xlab("Razón") +
  ylab("Horas de falta") +
  ggtitle("Razon vs Horas de falta") +
  theme_gray()+ theme(axis.text.x = element_text(angle = 90))

col_razonHoras

Conclusión:

  1. La razón por la cuál más horas se falta es por concepto de enfermedad de huesos.

Gráfica para saber cuál razón es por la qué se falta más numero de veces.

Tabla_datos_20 <- Tabla_datos_17 %>% group_by(Razón) %>% 
  count(Razón) %>%
  mutate(Razón=str_replace(Razón,"Ausencia injustificada", "Injustificada")) %>%
  mutate(Razón=str_replace(Razón,"Consulta ciertas afecciones originadas en el período perinatal", "Embarazo"))%>%
  mutate(Razón=str_replace(Razón,"Consulta Ciertas enfermedades infecciosas y parasitarias", "Infecciones")) %>%
  mutate(Razón=str_replace(Razón,"Embarazo, parto y puerperio", "Parto")) %>%
  mutate(Razón=str_replace(Razón,"Enfermedades de la piel y del tejido subcutáneo.", "Enfermedades piel")) %>%
  mutate(Razón=str_replace(Razón,"Enfermedades de la sangre y de los órganos hematopoyéticos y determinados trastornos que afectan al mecanismo inmunitario.", "Enfermedades sangre")) %>%
  mutate(Razón=str_replace(Razón,"Malformaciones congénitas, deformaciones y anomalías cromosómicas", "Congenitas")) %>%
  mutate(Razón=str_replace(Razón,"Enfermedades endocrinas, nutricionales y metabólicas", "Enfermedades nutricionales")) %>%
  mutate(Razón=str_replace(Razón,"Enfermedades del sistema musculoesquelético y del tejido conectivo", "Enfermedades huesos")) %>%
  mutate(Razón=str_replace(Razón,"Factores que influyen en el estado de salud y el contacto con los servicios de salud.", "Otros")) %>%
  mutate(Razón=str_replace(Razón,"Lesiones, intoxicaciones y algunas otras consecuencias de causas externas", "Lesiones")) %>%
  mutate(Razón=str_replace(Razón,"Síntomas, signos y hallazgos clínicos y de laboratorio anormales, no clasificados en otra parte", "Examenes Laboratorio")) %>%
  mutate(Razón=str_replace(Razón,"Enfermedades del oído y apófisis mastoides", "Enfermedades oido")) %>%
  mutate(Razón=str_replace(Razón,"Trastornos mentales y del comportamiento", "Trastornos mentales")) %>%
  mutate(Razón=str_replace(Razón,"Enfermedades", "E.")) %>%
  mutate(Razón=str_remove(Razón,"del")) %>%
  mutate(Razón=str_replace(Razón,"sistema", "sist.")) %>%
  ungroup()
view(Tabla_datos_20)

col_razonVeces <- ggplot(data = Tabla_datos_20, mapping = aes(x = Razón, y = n))+
  geom_col(fill = "blue",
           alpha = 0.5,
           color = "purple") +
  xlab("Razón") +
  ylab("Cantidad de veces faltadas") +
  ggtitle("Conteo faltas por razón de ausentismo") +
  theme_gray() + theme(axis.text.x = element_text(angle = 90))

col_razonVeces

Conclusión:

1.La razón por la que se falta más veces es por consulta médica.

CUÁNTOS BEBEDORES SOCIALES HAY

graf_bebedores <- ggplot(data = Tabla_datos_17,
                    mapping = aes(x = Bebedor_Social)) +
  geom_bar(fill = "slateblue",
           color = "slateblue",
           alpha = 0.75) +
  ylab("# trabajadores") +
  xlab(" ") +
  ggtitle("# de bebedores") +
  theme_classic()

graf_bebedores

Conclusión:

  1. El número de bebedores sociales es considerablemente alto, lo que podría afectar al desempeño de los colaboradores, así como podrían faltar más veces.

EDAD QUE FALTAN MÁS

Tabla_datos_23 <- Tabla_datos_17 %>% 
  count(Edad)

map_edad <- ggplot(data = Tabla_datos_23,
                      mapping = aes(x = Edad,
                                    y = n,
                                    fill = n)) +
  geom_tile() +
  scale_fill_gradient(low = "green", high = "red") +
  ylab("# de veces que falta") +
  xlab("Edad") +
  labs(fill = "# de faltas") +
  ggtitle("Faltas por edad") +
  theme_minimal()  

map_edad

Conclusión:

  1. Se puede ver que los colaboradores que faltan más son los jóvenes, de 28 años y de entre 37 a 38 años.

CONCLUSIONES Y RECOMENDACIONES

  1. Se debería incentivar a los colaboradores más jóvenes para que se sientan parte de la empresa y así reducir el ausentismo.
  2. Se podría implementar en la empresa un sistema de teletrabajo los días lunes para que los colaboradores sí trabajen, no falten y no pierdan horas importantes de trabajo.
  3. El mes de más ausencia es el mes de julio, por lo que para evitar que exista ausentismo, brindar incentivos y horas felxibles en el mes en cuestión para que se sientan motivados.
  4. La razón por la que más veces se falta es por concepto de consulta médica, por lo que se podría adaptar un centro médico en las oficinas que pueda estar monitoreando la salud de los colaboradores.
  5. La razón por la que más horas se falta es por Enfermedad de Huesos, por lo mismo la empresa debería tomar medidas al respecto, como permitir que estos colaboradores trabajen desde casa y se presenten en la oficina sólo cuando se requiera.

Estas medidas ayudarán a que el ausentismo baje en la empresa, aumente la productividad y que el gasto por no tener a los colaboradores trabajando sea menor.