library(tidyverse)
library(funModeling)
library(gt)
library(scales)


fuente <- "Fuente: Encuesta KIWI de Sueldos de RRHH"

col_genero <- c("#8624F5", "#1FC3AA")


sueldos <- read_delim("https://raw.githubusercontent.com/r4hr/r4hr_introduccion_dplyr/main/Datos/encuesta_sueldos.csv", delim = ",")



resumen_numerico <- profiling_num(sueldos)
percentil_05 <- resumen_numerico[6,6]
percentil_95 <- resumen_numerico[6,10]

sueldos <- sueldos %>%
  filter(between(sueldo_bruto, percentil_05, percentil_95),
        aumento < 100,
        anios_rh < 40)

Este es un ejercicio de práctica, realizado durante el curso “Introducción a R para RRHH” de Data 4HR. Si quieren saber más, pueden visitar mi perfil en LinkedIn.

Análisis de sueldos de RRHH por puesto

sueldos <- sueldos %>%
  mutate(puesto = factor(puesto,
                        levels = c("Administrativo", "Analista", "HRBP",
                                    "Responsable", "Jefe", "Gerente", "Director")))

puestos <- sueldos %>%
  group_by(puesto) %>%
  summarise(sueldo_promedio = mean(sueldo_bruto))

ggplot(puestos, aes(x = sueldo_promedio, y = puesto)) +
  geom_col(fill = "#0E9CA2") +
  labs(title = "Sueldo promedio por puesto",
    subtitle = "En AR$",
    x = "", y="",
    caption = "Fuente: Encuesta KIWI de Sueldos de RRHH")

Tabla de Sueldos

gt(puestos) %>%
  tab_header(title = "Sueldo promedio por puesto") %>%
  cols_label(puesto = "Puesto",
            sueldo_promedio = "Sueldo Promedio")
Sueldo promedio por puesto
Puesto Sueldo Promedio
Administrativo 49780.73
Analista 66883.48
HRBP 97824.48
Responsable 76715.26
Jefe 107026.29
Gerente 150776.96
Director 108338.00

Dispersión de sueldos por puesto y género

ggplot(sueldos, aes(x = puesto, y = sueldo_bruto, fill = genero)) +
  geom_boxplot() +
  labs(title = "Dispersión de sueldos por puesto y género",
    x = "", y = "",
    caption = fuente) +
  scale_y_continuous(labels = comma_format(big.mark = ".", decimal.mark = ",")) +
  scale_fill_manual(values = col_genero)

Relación entre años de experiencia y sueldo

modelo_lineal <- broom::tidy(lm(data = sueldos,
                                sueldo_bruto ~ anios_rh))

modelo_lineal$estimate <- dollar(modelo_lineal$estimate,
                                prefix = "AR$ ",    # Podemos controlar el símbolo utilizado
                                big.mark = ".",     # Cambia el separador de miles
                                decimal.mark = ",") # Cambia el separador decimal


ggplot(sueldos, aes(x = anios_rh, y = sueldo_bruto)) +
  geom_point(alpha = .4, size = 1.5) +
  geom_smooth(method = "lm") +
  labs(title = "Relación entre años de experiencia y sueldos de RRHH",
    subtitle = "En pesos argentinos",
    x = "Años de Experiencia",
    y = "Sueldo Bruto",
    caption = fuente) +
  scale_y_continuous(labels = comma_format(big.mark = ".", decimal.mark = ","))

En promedio, una persona con cero años de experiencia en RRHH cobra un sueldo bruto de AR$ 58.816,23. Y con cada año de experiencia, el sueldo aumenta en AR$ 2.856,24.

LS0tCnRpdGxlOiAiUmVsZXZhbWllbnRvIFBhcmNpYWwgU3VlbGRvcyBkZSBSUkhIIEFyZ2VudGluYSIKc3VidGl0bGU6ICJDdXJzbyBJbnRyb2R1Y2Npw7NuIGEgUiBwYXJhIFJSSEgiCmF1dGhvcjogIlNlcmdpbyBkZSBEYXRhIDRIUiIKZGF0ZTogIjI5LzExLzIwMjEiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgdGhlbWU6IHNwYWNlbGFiCiAgICBoaWdobGlnaHQ6IGVzcHJlc3NvCiAgICB0b2M6IHRydWUKICAgIHRvY19mbG9hdDogdHJ1ZQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQogICAgY29kZV9mb2xkaW5nOiBoaWRlCi0tLQoKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRSkKYGBgCgpgYGB7ciBsaWJyZXJpYXMtZGF0b3N9CmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KGZ1bk1vZGVsaW5nKQpsaWJyYXJ5KGd0KQpsaWJyYXJ5KHNjYWxlcykKCgpmdWVudGUgPC0gIkZ1ZW50ZTogRW5jdWVzdGEgS0lXSSBkZSBTdWVsZG9zIGRlIFJSSEgiCgpjb2xfZ2VuZXJvIDwtIGMoIiM4NjI0RjUiLCAiIzFGQzNBQSIpCgoKc3VlbGRvcyA8LSByZWFkX2RlbGltKCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcjRoci9yNGhyX2ludHJvZHVjY2lvbl9kcGx5ci9tYWluL0RhdG9zL2VuY3Vlc3RhX3N1ZWxkb3MuY3N2IiwgZGVsaW0gPSAiLCIpCgoKCnJlc3VtZW5fbnVtZXJpY28gPC0gcHJvZmlsaW5nX251bShzdWVsZG9zKQpwZXJjZW50aWxfMDUgPC0gcmVzdW1lbl9udW1lcmljb1s2LDZdCnBlcmNlbnRpbF85NSA8LSByZXN1bWVuX251bWVyaWNvWzYsMTBdCgpzdWVsZG9zIDwtIHN1ZWxkb3MgJT4lCiAgZmlsdGVyKGJldHdlZW4oc3VlbGRvX2JydXRvLCBwZXJjZW50aWxfMDUsIHBlcmNlbnRpbF85NSksCiAgICAgCWF1bWVudG8gPCAxMDAsCiAgICAgCWFuaW9zX3JoIDwgNDApCmBgYAoKRXN0ZSBlcyB1biBlamVyY2ljaW8gZGUgcHLDoWN0aWNhLCByZWFsaXphZG8gZHVyYW50ZSBlbCBjdXJzbyAqKiJJbnRyb2R1Y2Npw7NuIGEgUiBwYXJhIFJSSEgiKiogZGUgW0RhdGEgNEhSXShodHRwczovL2RhdGEtNGhyLmNvbSkuIFNpIHF1aWVyZW4gc2FiZXIgbcOhcywgW3B1ZWRlbiB2aXNpdGFyIG1pIHBlcmZpbCBlbiBMaW5rZWRJbl0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2luL25hdGhhbGktbWF6emEtZyVDMyVCM21lei03MmI1NDg5OS8pLgoKIyBBbsOhbGlzaXMgZGUgc3VlbGRvcyBkZSBSUkhIIHBvciBwdWVzdG8KCmBgYHtyIHB1ZXN0b3N9CnN1ZWxkb3MgPC0gc3VlbGRvcyAlPiUKICBtdXRhdGUocHVlc3RvID0gZmFjdG9yKHB1ZXN0bywKICAgICAgICAgICAgICAgICAgICAgCWxldmVscyA9IGMoIkFkbWluaXN0cmF0aXZvIiwgIkFuYWxpc3RhIiwgIkhSQlAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkiUmVzcG9uc2FibGUiLCAiSmVmZSIsICJHZXJlbnRlIiwgIkRpcmVjdG9yIikpKQoKcHVlc3RvcyA8LSBzdWVsZG9zICU+JQogIGdyb3VwX2J5KHB1ZXN0bykgJT4lCiAgc3VtbWFyaXNlKHN1ZWxkb19wcm9tZWRpbyA9IG1lYW4oc3VlbGRvX2JydXRvKSkKCmdncGxvdChwdWVzdG9zLCBhZXMoeCA9IHN1ZWxkb19wcm9tZWRpbywgeSA9IHB1ZXN0bykpICsKICBnZW9tX2NvbChmaWxsID0gIiMwRTlDQTIiKSArCiAgbGFicyh0aXRsZSA9ICJTdWVsZG8gcHJvbWVkaW8gcG9yIHB1ZXN0byIsCiAgIAlzdWJ0aXRsZSA9ICJFbiBBUiQiLAogICAJeCA9ICIiLCB5PSIiLAogICAJY2FwdGlvbiA9ICJGdWVudGU6IEVuY3Vlc3RhIEtJV0kgZGUgU3VlbGRvcyBkZSBSUkhIIikKCmBgYAoKIyMgVGFibGEgZGUgU3VlbGRvcwoKYGBge3J9Cmd0KHB1ZXN0b3MpICU+JQogIHRhYl9oZWFkZXIodGl0bGUgPSAiU3VlbGRvIHByb21lZGlvIHBvciBwdWVzdG8iKSAlPiUKICBjb2xzX2xhYmVsKHB1ZXN0byA9ICJQdWVzdG8iLAogICAgICAgICAJc3VlbGRvX3Byb21lZGlvID0gIlN1ZWxkbyBQcm9tZWRpbyIpCiAKYGBgCgojIyBEaXNwZXJzacOzbiBkZSBzdWVsZG9zIHBvciBwdWVzdG8geSBnw6luZXJvCgpgYGB7cn0KZ2dwbG90KHN1ZWxkb3MsIGFlcyh4ID0gcHVlc3RvLCB5ID0gc3VlbGRvX2JydXRvLCBmaWxsID0gZ2VuZXJvKSkgKwogIGdlb21fYm94cGxvdCgpICsKICBsYWJzKHRpdGxlID0gIkRpc3BlcnNpw7NuIGRlIHN1ZWxkb3MgcG9yIHB1ZXN0byB5IGfDqW5lcm8iLAogICAJeCA9ICIiLCB5ID0gIiIsCiAgIAljYXB0aW9uID0gZnVlbnRlKSArCiAgc2NhbGVfeV9jb250aW51b3VzKGxhYmVscyA9IGNvbW1hX2Zvcm1hdChiaWcubWFyayA9ICIuIiwgZGVjaW1hbC5tYXJrID0gIiwiKSkgKwogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IGNvbF9nZW5lcm8pCmBgYAoKIyMgUmVsYWNpw7NuIGVudHJlIGHDsW9zIGRlIGV4cGVyaWVuY2lhIHkgc3VlbGRvCgpgYGB7cn0KbW9kZWxvX2xpbmVhbCA8LSBicm9vbTo6dGlkeShsbShkYXRhID0gc3VlbGRvcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAlzdWVsZG9fYnJ1dG8gfiBhbmlvc19yaCkpCgptb2RlbG9fbGluZWFsJGVzdGltYXRlIDwtIGRvbGxhcihtb2RlbG9fbGluZWFsJGVzdGltYXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIAlwcmVmaXggPSAiQVIkICIsCSMgUG9kZW1vcyBjb250cm9sYXIgZWwgc8OtbWJvbG8gdXRpbGl6YWRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCWJpZy5tYXJrID0gIi4iLCAJIyBDYW1iaWEgZWwgc2VwYXJhZG9yIGRlIG1pbGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCWRlY2ltYWwubWFyayA9ICIsIikgIyBDYW1iaWEgZWwgc2VwYXJhZG9yIGRlY2ltYWwKCgpnZ3Bsb3Qoc3VlbGRvcywgYWVzKHggPSBhbmlvc19yaCwgeSA9IHN1ZWxkb19icnV0bykpICsKICBnZW9tX3BvaW50KGFscGhhID0gLjQsIHNpemUgPSAxLjUpICsKICBnZW9tX3Ntb290aChtZXRob2QgPSAibG0iKSArCiAgbGFicyh0aXRsZSA9ICJSZWxhY2nDs24gZW50cmUgYcOxb3MgZGUgZXhwZXJpZW5jaWEgeSBzdWVsZG9zIGRlIFJSSEgiLAogICAJc3VidGl0bGUgPSAiRW4gcGVzb3MgYXJnZW50aW5vcyIsCiAgIAl4ID0gIkHDsW9zIGRlIEV4cGVyaWVuY2lhIiwKICAgCXkgPSAiU3VlbGRvIEJydXRvIiwKICAgCWNhcHRpb24gPSBmdWVudGUpICsKICBzY2FsZV95X2NvbnRpbnVvdXMobGFiZWxzID0gY29tbWFfZm9ybWF0KGJpZy5tYXJrID0gIi4iLCBkZWNpbWFsLm1hcmsgPSAiLCIpKQpgYGAKCkVuIHByb21lZGlvLCB1bmEgcGVyc29uYSBjb24gY2VybyBhw7FvcyBkZSBleHBlcmllbmNpYSBlbiBSUkhIIGNvYnJhIHVuIHN1ZWxkbyBicnV0byBkZSBgciBtb2RlbG9fbGluZWFsWzEsMl1gLiBZIGNvbiBjYWRhIGHDsW8gZGUgZXhwZXJpZW5jaWEsIGVsIHN1ZWxkbyBhdW1lbnRhIGVuIGByIG1vZGVsb19saW5lYWxbMiwyXWAuCg==