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")
| 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==