5  Remuneração dos Vínculos Ativos – RAIS

Para a análise dos valores remuneratórios de dezembro, foi necessário corrigir inconsistências na coluna Vl.Rem.Dezembro.Nom, onde alguns registros apresentavam excesso de dígitos (ex.: 350000 em vez de 3500) e outros com ausência do marcador decimal (ex.: 280049 em vez de 2800.49). A detecção dessas inconsistências foi realizada por comparação cruzada entre o valor nominal e a faixa salarial indicada na coluna Faixa.Rem.Média..SM.

Além disso, também foi necessário aplicar um ajuste prévio ao ano-base 2022, em razão de uma incompatibilidade específica nesse arquivo. As colunas Faixa.Rem.Dez..SM e Faixa.Rem.Média..SM estavam permutadas: a faixa registrada como correspondente à média remuneratória descrevia, na verdade, a remuneração de dezembro, e a faixa atribuída a dezembro referia-se à média remuneratória. A inversão foi identificada por meio da comparação com as colunas numéricas Vl.Rem.Dezembro.Nom e Vl.Rem.Média.Nom, que serviram como referência para a correção.

O ajuste foi aplicado exclusivamente ao ano-base 2022, restaurando a correspondência correta entre faixas e valores. A partir dessa correção, a remuneração de dezembro passa a ser parametrizada pela coluna Faixa.Rem.Dez..SM, que agora reflete fielmente a faixa salarial correspondente à variável corrigida.

Desse modo, o procedimento corretivo adotado na inconsistências da coluna Vl.Rem.Dezembro.Nom foi o seguinte:

  1. Para cada registro inconsistente, verificou-se a faixa salarial e o valor do SM vigente (R$ 1.412 em 2024);
  2. Com base nessa referência, aplicou-se uma das duas operações abaixo:
    • Inserção do marcador decimal no local que tornava o valor coerente com a faixa salarial; ou
    • Remoção dos dois últimos algarismos, quando o valor parecia ter sido registrado com acréscimo de dois dígitos zeros sem separação decimal.

A tabela interativa abaixo apresenta os valores originais e corrigidos da coluna Vl.Rem.Dezembro.Nom, acompanhados das faixas, remuneração média e sexo para fins comparativos.

Mostrar código executado
# correção das casas decimais na coluna de Vl.Rem.Dezembro.Nom
remunera_corrigido <- Arqueo.RAIS.2022_2025 %>% 
  dplyr::filter(Ind.Vínculo.Ativo.31.12=="SIM") %>%
  # troca das faixas no ano-base 2022
  mutate(
    #cria variaveis temporárias com os valores originais
    temp_faixaDez= Faixa.Rem.Dez..SM,
    temp_faixaMedia= Faixa.Rem.Média..SM) |> 
  mutate(
    Faixa.Rem.Dez..SM= if_else(Ano==2022, temp_faixaMedia, Faixa.Rem.Dez..SM),
    Faixa.Rem.Média..SM= if_else(Ano== 2022, temp_faixaDez, Faixa.Rem.Média..SM)) |> 
    #remove as variáveis temporárias
  dplyr::select(-c(temp_faixaDez, temp_faixaMedia)) |> 
  # correção a partir do valor do salário mínimo de 2024 (R$ 1.412,00)
  mutate(valor_SM_fx_maximo_2024 = Faixa.Rem.Dez..SM,
         valor_SM_fx_maximo_2024 = recode(valor_SM_fx_maximo_2024, 
                "Até 0,50 salários mínimos" = 706,
                "0,51 a 1,00 salários mínimos" = 1412,
                "1,01 a 1,50 salários mínimos" = (1412* 1.5),
                "1,51 a 2,00 salários mínimos" = (1412* 2),
                "2,01 a 3,00 salários mínimos" = (1412* 3),
                "3,01 a 4,00 salários mínimos" = (1412* 4),
                "4,01 a 5,00 salários mínimos" = (1412* 5),
                "5,01 a 7,00 salários mínimos" = (1412* 7),
                "7,01 a 10,00 salários mínimos" = (1412* 10),
                "10,01 a 15,00 salários mínimos" = (1412* 15),
                "15,01 a 20,00 salários mínimos" = (1412* 20),
                "Mais de 20,00 salários mínimos" = (1412* 20)),
         vl.rem.dez.nom.corrigido = ifelse(Vl.Rem.Dezembro.Nom <= valor_SM_fx_maximo_2024
                                           | Vl.Rem.Dezembro.Nom == 0.00,
                               round(Vl.Rem.Dezembro.Nom, 2),
                               round(Vl.Rem.Dezembro.Nom / 100, 2))) |> 
        dplyr::select(Ano, Faixa.Rem.Dez..SM, valor_SM_fx_maximo_2024, Vl.Rem.Dezembro.Nom, vl.rem.dez.nom.corrigido, Vl.Rem.Média.Nom, Faixa.Rem.Média..SM, Sexo)

remunera_tabela <- remunera_corrigido %>% 
  mutate(Ano = as.factor(Ano),
        Faixa.Rem.Dez..SM = factor(
          Faixa.Rem.Dez..SM, 
                     levels = c("Até 0,50 salários mínimos", "0,51 a 1,00 salários mínimos", "1,01 a 1,50 salários mínimos", "1,51 a 2,00 salários mínimos", "2,01 a 3,00 salários mínimos", "3,01 a 4,00 salários mínimos", "4,01 a 5,00 salários mínimos", "5,01 a 7,00 salários mínimos", "7,01 a 10,00 salários mínimos", "10,01 a 15,00 salários mínimos", "15,01 a 20,00 salários mínimos", "Mais de 20,00 salários mínimos", "{ñ class}")),
          Faixa.Rem.Dez..SM =  dplyr::recode(Faixa.Rem.Dez..SM,
           "{ñ class}" = "Não informado"),
          Faixa.Rem.Média..SM = factor(
            Faixa.Rem.Média..SM, 
                     levels = c("Até 0,50 salários mínimos", "0,51 a 1,00 salários mínimos", "1,01 a 1,50 salários mínimos", "1,51 a 2,00 salários mínimos", "2,01 a 3,00 salários mínimos", "3,01 a 4,00 salários mínimos", "4,01 a 5,00 salários mínimos", "5,01 a 7,00 salários mínimos", "7,01 a 10,00 salários mínimos", "10,01 a 15,00 salários mínimos", "15,01 a 20,00 salários mínimos", "Mais de 20,00 salários mínimos", "{ñ class}")),
          Faixa.Rem.Média..SM =  dplyr::recode(Faixa.Rem.Média..SM,
           "{ñ class}" = "Não informado")) |> 
  dplyr::select(Ano, Vl.Rem.Dezembro.Nom, vl.rem.dez.nom.corrigido, Faixa.Rem.Dez..SM, Vl.Rem.Média.Nom, Faixa.Rem.Média..SM, Sexo) |>
  mutate(across(where(is.character), as.factor))

#| column: page
DT::datatable(
  remunera_tabela,
  filter     = 'top',
  extensions = 'Buttons',
  options = list(
    dom = 'Bfrtip',
    buttons = list(
      list(extend = 'copy',  text = 'Copiar'),
      list(extend = 'csv',   text = 'Baixar CSV',
           filename = 'RAIS_arqueologos_remuneração_corrigida_2022_2025'),
      list(extend = 'excel', text = 'Baixar Excel',
           filename = 'RAIS_arqueologos_remuneração_corrigida_2022_2025',
           title    = 'RAIS_Remuneração Corrigida — CBO 2511-10 — 2022 a 2025')
    ),
    language = list(
       search        = "Filtrar:",
       lengthMenu    = "Mostrar _MENU_ registros",
       info          = "Mostrando _START_ a _END_ de _TOTAL_ registros",
       infoEmpty     = "Nenhum registro",
       infoFiltered  = "(filtrados de _MAX_ registros)",
       zeroRecords   = "Nenhum registro encontrado",
       paginate      = list(previous = "Anterior", `next` = "Próximo",
                            first = "Primeiro", last = "Último")
    ),
    pageLength = 5,
    autoWidth  = TRUE,
    columnDefs = list(list(className = 'dt-nowrap', targets = "_all")),
    scrollX    = TRUE),
    colnames = c("Ano-base", "Remuneração nominal de dezembro - original", "Remuneração nominal de dezembro - corrigido", "Faixa remuneratória de dezembro em salário mínimo", "Média remuneratória nominal", "Faixa remuneratória da média em salário mínimo", "Sexo do trabalhador")
)
Tabela 5.1: Conjunto de dados com valores nominais corrigidos e colunas renomeadas

5.1 Média Salarial

Ao longo de todo o quadriênio analisado, identificou‑se vínculos ativos sem remuneração declarada no mês de dezembro, e essa parcela vem crescendo de forma consistente. Em números absolutos, os registros passaram de 39 em 2022 para 59 em 2023, 70 em 2024 e 80 em 2025, o que representa um aumento relativo de 13,3% para 20,9% do total de vínculos ativos no período. Há ainda uma diferença na forma de codificação desses casos entre os anos‑base: em 2022, os registros aparecem com valor de R$ 0,00; a partir de 2023, o campo de remuneração simplesmente fica em branco. A análise do perfil desses vínculos sugere que se trata de afastamentos prolongados e não de erros de declaração, embora essa possibilidade não possa ser inteiramente descartada.

Diante desse cenário, adotou‑se o critério de excluir todos os registros sem remuneração declarada em dezembro, aplicando essa mesma regra uniformemente a todos os anos‑base. Com esse ajuste, a média remuneratória de dezembro parte de R$ 5.356,55 em 2022 e alcança R$ 5.877,39 em 2025, o que corresponde a um crescimento nominal acumulado de 9,7% no período. Essa padronização foi essencial para garantir comparabilidade entre os anos e evitar que vínculos sem remuneração distorcessem a tendência salarial observada.

Esse critério corretivo também foi aplicado nos procedimentos subsequentes.

Mostrar código executado
# Preparar dados
media_anual_dezembro <- remunera_corrigido %>%
  group_by(Ano) %>%
  dplyr::filter(vl.rem.dez.nom.corrigido>0) |> 
  summarise(media = round(mean(vl.rem.dez.nom.corrigido, na.rm = TRUE), 2)) %>%
  ungroup() %>%
  arrange(Ano) %>%
  mutate(Ano_char = as.character(Ano))

# Função para adicionar uma linha tracejada para cada ano
adicionar_linha <- function(echart, ano, valor) {
  echart %>%
    e_mark_line(
      serie = "Média Salarial",
      data = list(
        list(xAxis = 0, yAxis = ano),
        list(xAxis = valor, yAxis = ano)
      ),
      lineStyle = list(type = "dashed", color = "gray70", width = 0.5),
      symbol = "none"
    )
}

# Gráfico base
p <- media_anual_dezembro %>%
  e_charts(media) %>%
  e_scatter(Ano_char, symbol_size = 14, name = "Média Salarial") %>%
  e_y_axis(
    inverse = TRUE,
    type = "category",
    axisLabel = list(fontSize = 10),
    axisLine = list(show = TRUE)
  ) %>%
  e_x_axis(
    axisLabel = list(
      fontSize = 10,
      formatter = htmlwidgets::JS("
        function(value) {
          return 'R$ ' + value.toFixed(2)
            .replace('.', ',')
            .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1.');
        }
      ")
    ),
    axisLine = list(show = TRUE),
    splitLine = list(show = FALSE)
  ) %>%
  e_title(
    text = "Mercado de Trabalho Formal de Arqueólogos - RAIS 2022 a 2025",
    subtext = "Média Salarial de Dezembro dos Vínculos Ativos",
    left = "center",
    textStyle = list(fontSize = 15, fontWeight = "bold"),
    subtextStyle = list(fontSize = 12, fontWeight = "bold")
  ) %>%
  e_legend(show = FALSE) %>%
  e_grid(containLabel = TRUE, left = "10%", right = "10%") %>%
  e_tooltip(
    extraCssText = "text-align: left;",
    trigger = "item",
    formatter = htmlwidgets::JS("
      function(params) {
        var ano    = params.value[1];
        var valor  = parseFloat(params.value[0]);

        var valorFormatado = 'R$ ' + valor.toFixed(2)
          .replace('.', ',')
          .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1.');

        return 'Ano: ' + ano + '<br/>' +
              params.marker + ' Média Salarial: ' + valorFormatado;
      }
    "),
    axisPointer = list(
      type = "cross",
      label = list(
        formatter = htmlwidgets::JS("
          function(params) {
            // params.value pode ser número ou string; garantir número
            var val = parseFloat(params.value);
            if (params.axisDimension === 'x' && !isNaN(val)) {
              return 'R$ ' + val.toFixed(2)
                .replace('.', ',')
                .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1.');
            } else {
              return params.value; // eixo y (ano) sem formatação
            }
          }
        ")
      )
    )
  )

# Adicionar as linhas tracejadas iterativamente
p_final <- purrr::reduce2(
  .x = media_anual_dezembro$Ano_char,
  .y = media_anual_dezembro$media,
  .f = adicionar_linha,
  .init = p
)

# Exibir o gráfico
p_final
Figura 5.1: Declarações ativas por média salarial

5.2 Resumo Estatístico

As medidas de posição remuneratórias revelam assimetria positiva na distribuição dos dados: a média é sistematicamente superior à mediana, indicando que uma minoria de remunerações elevadas puxa o valor médio para cima. No quadriênio analisado, a diferença entre a média e mediana foi ampliada de R$ 881,26 para R$ 935,61.

Nesse contexto, a mediana é o indicador mais representativo do salário típico dos arqueólogos, pois não é influenciada por valores extremos. A média, por outro lado, reflete a distribuição global, incluindo os supersalários que distorcem o valor dessa medida.

Mostrar código executado
resumo_remunera <- remunera_corrigido %>%
     group_by(Ano) %>%
     dplyr::filter(vl.rem.dez.nom.corrigido>0) |> 
     summarise(
       Mínimo = min(vl.rem.dez.nom.corrigido, na.rm = TRUE),
       Mediana = median(vl.rem.dez.nom.corrigido, na.rm = TRUE),
       Média = mean(vl.rem.dez.nom.corrigido, na.rm = TRUE),
       Máximo = max(vl.rem.dez.nom.corrigido, na.rm = TRUE)) %>%
      mutate(across(where(is.numeric), ~ round(., 2)))

resumo_remunera2 <- resumo_remunera %>%
  pivot_longer(-Ano, names_to = "Estatística", values_to = "Valor") %>%
  pivot_wider(names_from = Ano, values_from = Valor)

tabela_remunera <- resumo_remunera2 %>%
  gt() %>%
  tab_header(
    title = "Resumo Estatístico",
    subtitle = "Valores Remuneratórios de Dezembro"
  ) %>%
  fmt_number(columns = where(is.numeric), decimals = 2, 
             sep_mark = ".", dec_mark = ",", pattern = "R$ {x}") %>%
  cols_label(
    Estatística = ""
  ) %>%
  tab_spanner(
    label = "Ano",
    columns = where(is.numeric))

tabela_remunera
Tabela 5.2: Medidas de posição das remunerações nominais de dezembro dos vínculos ativos
Resumo Estatístico
Valores Remuneratórios de Dezembro
Ano
2022 2023 2024 2025
Mínimo R$ 393,17 R$ 523,56 R$ 547,11 R$ 610,89
Mediana R$ 4.475,29 R$ 4.487,32 R$ 4.673,98 R$ 4.941,78
Média R$ 5.356,55 R$ 5.413,40 R$ 5.494,93 R$ 5.877,39
Máximo R$ 25.690,79 R$ 27.103,79 R$ 33.710,08 R$ 30.597,00

5.3 Remuneração Média

A variável Vl.Rem.Média.Nom armazena a média das remunerações mensais recebidas pelo trabalhador ao longo do ano-base. Com esse dado, é possível visualizar a distribuição dos valores da média nominal na forma de boxplot, uma representação visual das medidas de posição e ideal para realizar comparações rápidas nos registros para identificar simetria/assimetria, dispersão e valores discrepantes/atípicos (outliers).

Mostrar código executado
tabela <- remunera_corrigido %>%
  group_by(Ano) %>%
  dplyr::filter(Vl.Rem.Média.Nom > 0) |> 
  summarise(
    Mínimo = min(Vl.Rem.Média.Nom, na.rm = TRUE),
    Q1 = quantile(Vl.Rem.Média.Nom, 0.25, na.rm = TRUE),
    Mediana = median(Vl.Rem.Média.Nom, na.rm = TRUE),
    Q3 = quantile(Vl.Rem.Média.Nom, 0.75, na.rm = TRUE),
    Máximo = max(Vl.Rem.Média.Nom, na.rm = TRUE)
  ) %>%
  mutate(across(where(is.numeric), ~ round(., 2))) %>%
  mutate(Ano = as.character(Ano))  # chave para o objeto JS

tabela_list <- list()
for(i in 1:nrow(tabela)) {
  ano <- tabela$Ano[i]
  tabela_list[[ano]] <- list(
    Minimo = tabela$Mínimo[i],
    Q1 = tabela$Q1[i],
    Mediana = tabela$Mediana[i],
    Q3 = tabela$Q3[i],
    Maximo = tabela$Máximo[i]
  )
}

tabela_json <- toJSON(tabela_list, auto_unbox = TRUE)

dados_boxplot <- remunera_corrigido %>%
  dplyr::filter(Vl.Rem.Média.Nom > 0) %>%
  mutate(Ano = factor(Ano, levels = c(2022, 2023, 2024, 2025)))

tooltip_js <- sprintf("
  function(params) {
    // Função auxiliar de formatação monetária
    var formatMoney = function(val) {
      if (typeof val !== 'number') val = parseFloat(val);
      return 'R$ ' + val.toFixed(2)
        .replace('.', ',')
        .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1.');
    };

    // Dados da tabela
    var tabela = %s;

    // Identificar o ano
    var ano = params.name || params.axisValue;

    // Verificar se é uma caixa (array com 5 elementos)
    if (params.value && Array.isArray(params.value) && params.value.length >= 5) {
      // Buscar estatísticas da tabela para este ano
      var stats = tabela[ano];
      if (stats) {
        return 'Ano: ' + ano + '<br/>' +
               'Mínimo: ' + formatMoney(stats.Minimo) + '<br/>' +
               '1º Quartil: ' + formatMoney(stats.Q1) + '<br/>' +
               'Mediana: ' + formatMoney(stats.Mediana) + '<br/>' +
               '3º Quartil: ' + formatMoney(stats.Q3) + '<br/>' +
               'Máximo: ' + formatMoney(stats.Maximo);
      } else {
        return 'Ano: ' + ano + ' (dados não encontrados)';
      }
    } else {
      // É um outlier
      var outlierVal = params.value;
      if (Array.isArray(outlierVal)) outlierVal = outlierVal[1];
      return 'Ano: ' + ano + '<br/>' +
             'Outlier: ' + formatMoney(outlierVal);
    }
  }
", tabela_json)

dados_boxplot %>%
  group_by(Ano) %>%
  e_charts(Ano) %>%
  e_boxplot(Vl.Rem.Média.Nom) %>%
  e_y_axis(
    axisLabel = list(
      fontSize = 10,
      formatter = htmlwidgets::JS("
        function(value) {
          return 'R$ ' + value.toFixed(2)
            .replace('.', ',')
            .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1.');
        }
      ")
    ),
    axisLine = list(show = TRUE),
    splitLine = list(show = TRUE)
  ) %>%
  e_x_axis(
    type = "category",
    axisLabel = list(fontSize = 11),
    data = levels(dados_boxplot$Ano)
  ) %>%
  e_title(
    text = "Mercado de Trabalho Formal de Arqueólogos - RAIS 2022 a 2025",
    subtext = "Boxplot da Remuneração Média dos Vínculos Ativos",
    left = "center",
    textStyle = list(fontSize = 15, fontWeight = "bold"),
    subtextStyle = list(fontSize = 12, fontWeight = "bold")
  ) %>%
  e_legend(show = FALSE) %>%
  e_grid(containLabel = TRUE, left = "10%", right = "10%") %>%
  e_tooltip(
    extraCssText = "text-align: left;",
    trigger = "item",
    formatter = htmlwidgets::JS(tooltip_js),
    axisPointer = list(
      type = "cross",
      label = list(
        formatter = htmlwidgets::JS("
          function(params) {
            var val = parseFloat(params.value);
            if (params.axisDimension === 'y' && !isNaN(val)) {
              return 'R$ ' + val.toFixed(2)
                .replace('.', ',')
                .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1.');
            } else {
              return params.value; // eixo x (ano) sem formatação
            }
          }
        ")
      )
    )
  )
Figura 5.2: Boxplot das médias nominais dos vínculos ativos

O boxplot da distribuição remuneratória confirma a assimetria positiva e permite visualizar o intervalo interquartil (IQR) - faixa que contém os 50% dos trabalhadores no centro da distribuição.

Medida 2022 2023 2024 2025 Variação acumulada
Q1 (1º quartil) R$ 3.224,18 R$ 3.092,82 R$ 2.952,50 R$ 3.101,28 -3,8%
Mediana R$ 4.159,08 R$ 4.153,96 R$ 4.206,30 R$ 4.489,28 7,9%
Q3 (3º quartil) R$ 5.893,90 R$ 5.672,30 R$ 5.864,77 R$ 6.420,97 8,9%
IQR (Q3-Q1) R$ 2.669,72 R$ 2.579,48 R$ 2.912,27 R$ 3.319,69 24,3%

Entre 2022 e 2025, a média remuneratória apresentou uma recuperação desigual. Enquanto o trabalhador típico (mediana) registrou ganho acumulado de 7,9%, chegando a R$ 4.489 em 2025, os trabalhadores de menor remuneração (Q1) ainda não recuperaram as perdas do período, encerrando com R$ 3.101 - 3,8% abaixo do patamar de 2022. Por outro lado, os arqueólogos de faixa superior (Q3) tiveram o melhor desempenho relativo, com variação acumulada de 8,9% e atingindo R$ 6.421 em 2025. Essa dinâmica ampliou a dispersão salarial: o intervalo interquartil (IQR), que mede a distância entre o topo e a base da distribuição, cresceu 24,3%, sinalizando um aumento expressivo da desigualdade remuneratória ao longo do período.

Para facilitar o entendimento de um boxplot, a figura abaixo ilustra como deve ser feito a leitura dessa representação gráfica.

Figura 5.3: Exemplo de leitura de boxplot

5.4 Remuneração Média por Faixa Salarial

A distribuição dos arqueólogos por remuneração média revela um quadro de concentração salarial e perda de mobilidade ascendente. A maior parcela dos profissionais concentra-se na faixa de 2 a 3 salários mínimos, que funciona como um teto estrutural para a categoria. Paralelamente, a faixa de 1 a 2 salários mínimos dobrou de participação, passando de cerca de 10% para mais de 20% dos trabalhadores, sinalizando que uma parcela crescente de profissionais está sendo empurrada para remunerações mais baixas.

No meio da distribuição, as faixas de 3 a 7 salários mínimos encolheram significativamente, especialmente a de 5 a 7 SM, que caiu de 14% para menos de 5%, indicando que o arqueólogo bem remunerado está desaparecendo. No topo, há uma polarização: a faixa de 7 a 10 SM cresceu de forma estável, mas as faixas acima de 15 salários mínimos praticamente desapareceram da amostra.

O resultado é uma profissão com poucas oportunidades de ascensão salarial elevada, onde a maioria se amontoa nas faixas inferiores e apenas uma pequena fração consegue ultrapassar o patamar de 7 salários mínimos.

Mostrar código executado
salario.2022 <- remunera_corrigido %>% 
  dplyr::filter(Ano==2022 & Vl.Rem.Média.Nom>0) %>% 
  mutate(
    faixa_SM = case_when(
      Vl.Rem.Média.Nom <= 1212 ~ "Até 1 salário mínimo",
      Vl.Rem.Média.Nom > 1212 & Vl.Rem.Média.Nom <= (1212*2) ~ "Entre 1 e 2 salários mínimos",
      Vl.Rem.Média.Nom > (1212*2) & Vl.Rem.Média.Nom <= (1212*3) ~ "Entre 2 e 3 salários mínimos",
      Vl.Rem.Média.Nom > (1212*3) & Vl.Rem.Média.Nom <= (1212*4) ~ "Entre 3 e 4 salários mínimos",
      Vl.Rem.Média.Nom > (1212*4) & Vl.Rem.Média.Nom <= (1212*5) ~ "Entre 4 e 5 salários mínimos",
      Vl.Rem.Média.Nom > (1212*5) & Vl.Rem.Média.Nom <= (1212*7) ~ "Entre 5 e 7 salários mínimos",
      Vl.Rem.Média.Nom > (1212*7) & Vl.Rem.Média.Nom <= (1212*10) ~ "Entre 7 e 10 salários mínimos",
      Vl.Rem.Média.Nom > (1212*10) & Vl.Rem.Média.Nom <= (1212*15) ~ "Entre 10 e 15 salários mínimos",
      Vl.Rem.Média.Nom > (1212*15) & Vl.Rem.Média.Nom <= (1212*20) ~ "Entre 15 e 20 salários mínimos",
      Vl.Rem.Média.Nom > (1212*20) ~ "Acima de 20 salários mínimos",
      TRUE ~ NA_character_),
    faixa_valor = case_when(
      Vl.Rem.Média.Nom <= 1212 ~ "Até R$ 1.212",
      Vl.Rem.Média.Nom > 1212 & Vl.Rem.Média.Nom <= (1212*2) ~ "R$ 1.212 a R$ 2.424",
      Vl.Rem.Média.Nom > (1212*2) & Vl.Rem.Média.Nom <= (1212*3) ~ "R$ 2.424 a R$ 3.636",
      Vl.Rem.Média.Nom > (1212*3) & Vl.Rem.Média.Nom <= (1212*4) ~ "R$ 3.636 a R$ 4.848",
      Vl.Rem.Média.Nom > (1212*4) & Vl.Rem.Média.Nom <= (1212*5) ~ "R$ 4.848 a R$ 6.060",
      Vl.Rem.Média.Nom > (1212*5) & Vl.Rem.Média.Nom <= (1212*7) ~ "R$ 6.060 a R$ 8.484",
      Vl.Rem.Média.Nom > (1212*7) & Vl.Rem.Média.Nom <= (1212*10) ~ "R$ 8.484 a R$ 12.120",
      Vl.Rem.Média.Nom > (1212*10) & Vl.Rem.Média.Nom <= (1212*15) ~ "R$ 12.120 a R$ 18.180",
      Vl.Rem.Média.Nom > (1212*15) & Vl.Rem.Média.Nom <= (1212*20) ~ "R$ 18.180 a R$ 24.240",
      Vl.Rem.Média.Nom > (1212*20) ~ "Acima de R$ 24.240",
      TRUE ~ NA_character_)) %>%
  select(Ano, Vl.Rem.Média.Nom, faixa_SM, faixa_valor) %>% 
  na.omit()

resumo_salario.2022 <- salario.2022 %>% 
group_by(faixa_SM, faixa_valor) %>%
  summarise(quantidade= n()) %>% 
  ungroup() %>% 
  mutate(porcentagem = round((quantidade / sum(quantidade) * 100),2)) %>% 
  dplyr::select(faixa_SM, faixa_valor, quantidade, porcentagem) %>% 
  arrange(desc(porcentagem))

tab.resumo_salario.2022 <- resumo_salario.2022 %>%
  dplyr::select(faixa_SM, faixa_valor, porcentagem) %>% 
  gt() %>%
  tab_header(
    title = "Distribuição Salarial - Média/2022",
    subtitle = "Salário mínimo de R$ 1.212") %>%
  fmt_number(
    columns = porcentagem,
    decimals = 2, sep_mark = ".", dec_mark = ",") %>%
  text_transform(
    locations = cells_body(columns = porcentagem),
    fn = function(x) paste0(x, "%")) %>%
  cols_label(faixa_SM = gt::html("Faixa de<br>Renda"),
             faixa_valor = gt::html("Valor em<br>Salário Mínimo"),
             porcentagem = gt::html("% de<br>Arqueólogos")) |> 
  cols_align(
  align = "center",
  columns = c(porcentagem, faixa_valor, faixa_SM)
)

salario.2023 <- remunera_corrigido %>% 
  dplyr::filter(Ano==2023 & Vl.Rem.Média.Nom>0) %>% 
  mutate(
    faixa_SM = case_when(
      Vl.Rem.Média.Nom <= 1320 ~ "Até 1 salário mínimo",
      Vl.Rem.Média.Nom > 1320 & Vl.Rem.Média.Nom <= (1320*2) ~ "Entre 1 e 2 salários mínimos",
      Vl.Rem.Média.Nom > (1320*2) & Vl.Rem.Média.Nom <= (1320*3) ~ "Entre 2 e 3 salários mínimos",
      Vl.Rem.Média.Nom > (1320*3) & Vl.Rem.Média.Nom <= (1320*4) ~ "Entre 3 e 4 salários mínimos",
      Vl.Rem.Média.Nom > (1320*4) & Vl.Rem.Média.Nom <= (1320*5) ~ "Entre 4 e 5 salários mínimos",
      Vl.Rem.Média.Nom > (1320*5) & Vl.Rem.Média.Nom <= (1320*7) ~ "Entre 5 e 7 salários mínimos",
      Vl.Rem.Média.Nom > (1320*7) & Vl.Rem.Média.Nom <= (1320*10) ~ "Entre 7 e 10 salários mínimos",
      Vl.Rem.Média.Nom > (1320*10) & Vl.Rem.Média.Nom <= (1320*15) ~ "Entre 10 e 15 salários mínimos",
      Vl.Rem.Média.Nom > (1320*15) & Vl.Rem.Média.Nom <= (1320*20) ~ "Entre 15 e 20 salários mínimos",
      Vl.Rem.Média.Nom > (1320*20) ~ "Acima de 20 salários mínimos",
      TRUE ~ NA_character_),
    faixa_valor = case_when(
      Vl.Rem.Média.Nom <= 1320 ~ "Até R$ 1.320",
      Vl.Rem.Média.Nom > 1320 & Vl.Rem.Média.Nom <= (1320*2) ~ "R$ 1.320 a R$ 2.640",
      Vl.Rem.Média.Nom > (1320*2) & Vl.Rem.Média.Nom <= (1320*3) ~ "R$ 2.640 a R$ 3.960",
      Vl.Rem.Média.Nom > (1320*3) & Vl.Rem.Média.Nom <= (1320*4) ~ "R$ 3.960 a R$ 5.280",
      Vl.Rem.Média.Nom > (1320*4) & Vl.Rem.Média.Nom <= (1320*5) ~ "R$ 5.280 a R$ 6.600",
      Vl.Rem.Média.Nom > (1320*5) & Vl.Rem.Média.Nom <= (1320*7) ~ "R$ 6.600 a R$ 9.240",
      Vl.Rem.Média.Nom > (1320*7) & Vl.Rem.Média.Nom <= (1320*10) ~ "R$ 9.240 a R$ 13.200",
      Vl.Rem.Média.Nom > (1320*10) & Vl.Rem.Média.Nom <= (1320*15) ~ "R$ 13.200 a R$ 19.800",
      Vl.Rem.Média.Nom > (1320*15) & Vl.Rem.Média.Nom <= (1320*20) ~ "R$ 19.800 a R$ 26.400",
      Vl.Rem.Média.Nom > (1320*20) ~ "Acima de R$ 26.400",
      TRUE ~ NA_character_)) %>%
  select(Ano, Vl.Rem.Média.Nom, faixa_SM, faixa_valor) %>% 
  na.omit()

resumo_salario.2023 <- salario.2023 %>% 
  group_by(faixa_SM, faixa_valor) %>%
  summarise(quantidade= n()) %>% 
  ungroup() %>% 
  mutate(porcentagem = round((quantidade / sum(quantidade) * 100),2)) %>% 
  dplyr::select(faixa_SM, faixa_valor, quantidade, porcentagem) %>% 
  arrange(desc(porcentagem))

tab.resumo_salario.2023 <- resumo_salario.2023 %>%
  dplyr::select(faixa_SM, faixa_valor, porcentagem) %>% 
  gt() %>%
  tab_header(
    title = "Distribuição Salarial - Média/2023",
    subtitle = "Salário mínimo de R$ 1.320") %>%
  fmt_number(
    columns = porcentagem,
    decimals = 2, sep_mark = ".", dec_mark = ",") %>%
  text_transform(
    locations = cells_body(columns = porcentagem),
    fn = function(x) paste0(x, "%")) %>%
  cols_label(faixa_SM = gt::html("Faixa de<br>Renda"),
             faixa_valor = gt::html("Valor em<br>Salário Mínimo"),
             porcentagem = gt::html("% de<br>Arqueólogos")) |> 
  cols_align(
  align = "center",
  columns = c(porcentagem, faixa_valor, faixa_SM)
)

salario.2024 <- remunera_corrigido %>% 
  dplyr::filter(Ano==2024 & Vl.Rem.Média.Nom>0) %>% 
  mutate(
    faixa_SM = case_when(
      Vl.Rem.Média.Nom <= 1412 ~ "Até 1 salário mínimo",
      Vl.Rem.Média.Nom > 1412 & Vl.Rem.Média.Nom <= (1412*2) ~ "Entre 1 e 2 salários mínimos",
      Vl.Rem.Média.Nom > (1412*2) & Vl.Rem.Média.Nom <= (1412*3) ~ "Entre 2 e 3 salários mínimos",
      Vl.Rem.Média.Nom > (1412*3) & Vl.Rem.Média.Nom <= (1412*4) ~ "Entre 3 e 4 salários mínimos",
      Vl.Rem.Média.Nom > (1412*4) & Vl.Rem.Média.Nom <= (1412*5) ~ "Entre 4 e 5 salários mínimos",
      Vl.Rem.Média.Nom > (1412*5) & Vl.Rem.Média.Nom <= (1412*7) ~ "Entre 5 e 7 salários mínimos",
      Vl.Rem.Média.Nom > (1412*7) & Vl.Rem.Média.Nom <= (1412*10) ~ "Entre 7 e 10 salários mínimos",
      Vl.Rem.Média.Nom > (1412*10) & Vl.Rem.Média.Nom <= (1412*15) ~ "Entre 10 e 15 salários mínimos",
      Vl.Rem.Média.Nom > (1412*15) & Vl.Rem.Média.Nom <= (1412*20) ~ "Entre 15 e 20 salários mínimos",
      Vl.Rem.Média.Nom > (1412*20) ~ "Acima de 20 salários mínimos",
      TRUE ~ NA_character_),
    faixa_valor = case_when(
      Vl.Rem.Média.Nom <= 1412 ~ "Até R$ 1.412",
      Vl.Rem.Média.Nom > 1412 & Vl.Rem.Média.Nom <= (1412*2) ~ "R$ 1.412 a R$ 2.824",
      Vl.Rem.Média.Nom > (1412*2) & Vl.Rem.Média.Nom <= (1412*3) ~ "R$ 2.824 a R$ 4.236",
      Vl.Rem.Média.Nom > (1412*3) & Vl.Rem.Média.Nom <= (1412*4) ~ "R$ 4.236 a R$ 5.648",
      Vl.Rem.Média.Nom > (1412*4) & Vl.Rem.Média.Nom <= (1412*5) ~ "R$ 5.648 a R$ 7.060",
      Vl.Rem.Média.Nom > (1412*5) & Vl.Rem.Média.Nom <= (1412*7) ~ "R$ 7.060 a R$ 9.884",
      Vl.Rem.Média.Nom > (1412*7) & Vl.Rem.Média.Nom <= (1412*10) ~ "R$ 9.884 a R$ 14.120",
      Vl.Rem.Média.Nom > (1412*10) & Vl.Rem.Média.Nom <= (1412*15) ~ "R$ 14.120 a R$ 21.180",
      Vl.Rem.Média.Nom > (1412*15) & Vl.Rem.Média.Nom <= (1412*20) ~ "R$ 21.180 a R$ 28.240",
      Vl.Rem.Média.Nom > (1412*20) ~ "Acima de R$ 28.240",
      TRUE ~ NA_character_)) %>%
  select(Ano, Vl.Rem.Média.Nom, faixa_SM, faixa_valor) %>% 
  na.omit()

resumo_salario.2024 <- salario.2024 %>% 
  group_by(faixa_SM, faixa_valor) %>%
  summarise(quantidade= n()) %>% 
  ungroup() %>% 
  mutate(porcentagem = round((quantidade / sum(quantidade) * 100),2)) %>% 
  dplyr::select(faixa_SM, faixa_valor, quantidade, porcentagem) %>% 
  arrange(desc(porcentagem))

tab.resumo_salario.2024 <- resumo_salario.2024 %>%
  dplyr::select(faixa_SM, faixa_valor, porcentagem) %>% 
  gt() %>%
  tab_header(
    title = "Distribuição Salarial - Média/2024",
    subtitle = "Salário mínimo de R$ 1.412") %>%
  fmt_number(
    columns = porcentagem,
    decimals = 2, sep_mark = ".", dec_mark = ",") %>%
  text_transform(
    locations = cells_body(columns = porcentagem),
    fn = function(x) paste0(x, "%")) %>%
  cols_label(faixa_SM = gt::html("Faixa de<br>Renda"),
             faixa_valor = gt::html("Valor em<br>Salário Mínimo"),
             porcentagem = gt::html("% de<br>Arqueólogos")) |> 
  cols_align(
  align = "center",
  columns = c(porcentagem, faixa_valor, faixa_SM)
)

salario.2025 <- remunera_corrigido %>% 
  dplyr::filter(Ano==2025 & Vl.Rem.Média.Nom>0) %>% 
  mutate(
    faixa_SM = case_when(
      Vl.Rem.Média.Nom <= 1518 ~ "Até 1 salário mínimo",
      Vl.Rem.Média.Nom > 1518 & Vl.Rem.Média.Nom <= (1518*2) ~ "Entre 1 e 2 salários mínimos",
      Vl.Rem.Média.Nom > (1518*2) & Vl.Rem.Média.Nom <= (1518*3) ~ "Entre 2 e 3 salários mínimos",
      Vl.Rem.Média.Nom > (1518*3) & Vl.Rem.Média.Nom <= (1518*4) ~ "Entre 3 e 4 salários mínimos",
      Vl.Rem.Média.Nom > (1518*4) & Vl.Rem.Média.Nom <= (1518*5) ~ "Entre 4 e 5 salários mínimos",
      Vl.Rem.Média.Nom > (1518*5) & Vl.Rem.Média.Nom <= (1518*7) ~ "Entre 5 e 7 salários mínimos",
      Vl.Rem.Média.Nom > (1518*7) & Vl.Rem.Média.Nom <= (1518*10) ~ "Entre 7 e 10 salários mínimos",
      Vl.Rem.Média.Nom > (1518*10) & Vl.Rem.Média.Nom <= (1518*15) ~ "Entre 10 e 15 salários mínimos",
      Vl.Rem.Média.Nom > (1518*15) & Vl.Rem.Média.Nom <= (1518*20) ~ "Entre 15 e 20 salários mínimos",
      Vl.Rem.Média.Nom > (1518*20) ~ "Acima de 20 salários mínimos",
      TRUE ~ NA_character_),
    faixa_valor = case_when(
      Vl.Rem.Média.Nom <= 1518 ~ "Até R$ 1.518",
      Vl.Rem.Média.Nom > 1518 & Vl.Rem.Média.Nom <= (1518*2) ~ "R$ 1.518 a R$ 3.036",
      Vl.Rem.Média.Nom > (1518*2) & Vl.Rem.Média.Nom <= (1518*3) ~ "R$ 3.036 a R$ 4.554",
      Vl.Rem.Média.Nom > (1518*3) & Vl.Rem.Média.Nom <= (1518*4) ~ "R$ 4.554 a R$ 6.072",
      Vl.Rem.Média.Nom > (1518*4) & Vl.Rem.Média.Nom <= (1518*5) ~ "R$ 6.072 a R$ 7.590",
      Vl.Rem.Média.Nom > (1518*5) & Vl.Rem.Média.Nom <= (1518*7) ~ "R$ 7.590 a R$ 10.626",
      Vl.Rem.Média.Nom > (1518*7) & Vl.Rem.Média.Nom <= (1518*10) ~ "R$ 10.626 a R$ 15.180",
      Vl.Rem.Média.Nom > (1518*10) & Vl.Rem.Média.Nom <= (1518*15) ~ "R$ 15.180 a R$ 22.770",
      Vl.Rem.Média.Nom > (1518*15) & Vl.Rem.Média.Nom <= (1518*20) ~ "R$ 22.770 a R$ 30.360",
      Vl.Rem.Média.Nom > (1518*20) ~ "Acima de R$ 30.360",
      TRUE ~ NA_character_)) %>%
  select(Ano, Vl.Rem.Média.Nom, faixa_SM, faixa_valor) %>% 
  na.omit()

resumo_salario.2025 <- salario.2025 %>% 
  group_by(faixa_SM, faixa_valor) %>%
  summarise(quantidade= n()) %>% 
  ungroup() %>% 
  mutate(porcentagem = round((quantidade / sum(quantidade) * 100),2)) %>% 
  dplyr::select(faixa_SM, faixa_valor, quantidade, porcentagem) %>% 
  arrange(desc(porcentagem))

tab.resumo_salario.2025 <- resumo_salario.2025 %>%
  dplyr::select(faixa_SM, faixa_valor, porcentagem) %>% 
  gt() %>%
  tab_header(
    title = "Distribuição Salarial - Média/2025",
    subtitle = "Salário mínimo de R$ 1.518") %>%
  fmt_number(
    columns = porcentagem,
    decimals = 2, sep_mark = ".", dec_mark = ",") %>%
  text_transform(
    locations = cells_body(columns = porcentagem),
    fn = function(x) paste0(x, "%")) %>%
  cols_label(faixa_SM = gt::html("Faixa de<br>Renda"),
             faixa_valor = gt::html("Valor em<br>Salário Mínimo"),
             porcentagem = gt::html("% de<br>Arqueólogos")) |> 
  cols_align(
  align = "center",
  columns = c(porcentagem, faixa_valor, faixa_SM)
)

html_2022 <- gt::as_raw_html(tab.resumo_salario.2022)
html_2023 <- gt::as_raw_html(tab.resumo_salario.2023)
html_2024 <- gt::as_raw_html(tab.resumo_salario.2024)
html_2025 <- gt::as_raw_html(tab.resumo_salario.2025)

htmltools::tagList(
  htmltools::tags$div(
    class = "tabelas-side-by-side",
    htmltools::tags$div(style = "flex: 1 1 0; min-width: 0;", htmltools::HTML(html_2022)),
    htmltools::tags$div(style = "flex: 1 1 0; min-width: 0;", htmltools::HTML(html_2023)),
    htmltools::tags$div(style = "flex: 1 1 0; min-width: 0;", htmltools::HTML(html_2024)),
    htmltools::tags$div(style = "flex: 1 1 0; min-width: 0;", htmltools::HTML(html_2025))
  )
)
Distribuição Salarial - Média/2022
Salário mínimo de R$ 1.212
Faixa de
Renda
Valor em
Salário Mínimo
% de
Arqueólogos
Entre 2 e 3 salários mínimos R$ 2.424 a R$ 3.636 25,48%
Entre 3 e 4 salários mínimos R$ 3.636 a R$ 4.848 23,95%
Entre 4 e 5 salários mínimos R$ 4.848 a R$ 6.060 14,83%
Entre 5 e 7 salários mínimos R$ 6.060 a R$ 8.484 14,07%
Entre 1 e 2 salários mínimos R$ 1.212 a R$ 2.424 9,89%
Entre 7 e 10 salários mínimos R$ 8.484 a R$ 12.120 6,84%
Entre 15 e 20 salários mínimos R$ 18.180 a R$ 24.240 2,28%
Até 1 salário mínimo Até R$ 1.212 1,90%
Entre 10 e 15 salários mínimos R$ 12.120 a R$ 18.180 0,76%
Distribuição Salarial - Média/2023
Salário mínimo de R$ 1.320
Faixa de
Renda
Valor em
Salário Mínimo
% de
Arqueólogos
Entre 2 e 3 salários mínimos R$ 2.640 a R$ 3.960 31,99%
Entre 3 e 4 salários mínimos R$ 3.960 a R$ 5.280 24,58%
Entre 1 e 2 salários mínimos R$ 1.320 a R$ 2.640 12,12%
Entre 4 e 5 salários mínimos R$ 5.280 a R$ 6.600 10,77%
Entre 7 e 10 salários mínimos R$ 9.240 a R$ 13.200 8,42%
Entre 5 e 7 salários mínimos R$ 6.600 a R$ 9.240 8,08%
Até 1 salário mínimo Até R$ 1.320 1,35%
Entre 10 e 15 salários mínimos R$ 13.200 a R$ 19.800 1,35%
Entre 15 e 20 salários mínimos R$ 19.800 a R$ 26.400 1,35%
Distribuição Salarial - Média/2024
Salário mínimo de R$ 1.412
Faixa de
Renda
Valor em
Salário Mínimo
% de
Arqueólogos
Entre 2 e 3 salários mínimos R$ 2.824 a R$ 4.236 27,62%
Entre 3 e 4 salários mínimos R$ 4.236 a R$ 5.648 22,22%
Entre 1 e 2 salários mínimos R$ 1.412 a R$ 2.824 20,00%
Entre 4 e 5 salários mínimos R$ 5.648 a R$ 7.060 10,79%
Entre 7 e 10 salários mínimos R$ 9.884 a R$ 14.120 8,57%
Entre 5 e 7 salários mínimos R$ 7.060 a R$ 9.884 6,67%
Até 1 salário mínimo Até R$ 1.412 2,86%
Acima de 20 salários mínimos Acima de R$ 28.240 0,63%
Entre 10 e 15 salários mínimos R$ 14.120 a R$ 21.180 0,63%
Distribuição Salarial - Média/2025
Salário mínimo de R$ 1.518
Faixa de
Renda
Valor em
Salário Mínimo
% de
Arqueólogos
Entre 2 e 3 salários mínimos R$ 3.036 a R$ 4.554 27,53%
Entre 1 e 2 salários mínimos R$ 1.518 a R$ 3.036 20,57%
Entre 3 e 4 salários mínimos R$ 4.554 a R$ 6.072 18,35%
Entre 4 e 5 salários mínimos R$ 6.072 a R$ 7.590 12,66%
Entre 7 e 10 salários mínimos R$ 10.626 a R$ 15.180 8,86%
Entre 5 e 7 salários mínimos R$ 7.590 a R$ 10.626 4,75%
Até 1 salário mínimo Até R$ 1.518 3,16%
Entre 10 e 15 salários mínimos R$ 15.180 a R$ 22.770 3,16%
Entre 15 e 20 salários mínimos R$ 22.770 a R$ 30.360 0,63%
Acima de 20 salários mínimos Acima de R$ 30.360 0,32%

5.5 Distribuição por Sexo

A evolução da média salarial de dezembro por sexo entre 2022 a 2025 revelou um padrão oscilatório inesperado, com duas inversões de vantagem e variações de magnitude significativa. A trajetória pode ser descrita em quatro momentos distintos:

Em 2022, as arqueólogas apresentavam média salarial de R$ 5.708,83, contra R$ 5.085,01 dos arqueólogos - uma vantagem de R$ 623,82 que se manteve como a maior diferença do período. No ano seguinte, essa vantagem se reduziu para R$ 273,32 (R$ 5.563,63 vs. R$ 5.290,31), sugerindo que os homens estavam ganhando terreno de forma gradual.

A primeira inversão ocorreu em 2024: a média masculina saltou para R$ 5.615,93, enquanto a feminina recuou para R$ 5.358,61 - uma diferença de −R$ 257,32 em favor dos homens.

Contudo, a tendência não se consolidou. Em 2025, o padrão se reverteu de forma ainda mais acentuada: a média feminina disparou para R$ 6.144,29 (+14,6% em relação a 2024), enquanto a masculina avançou modestamente para R$ 5.648,15 (+0,6%). O resultado foi uma nova vantagem feminina de R$ 496,14.

Esse vaivém sugere que a remuneração por sexo se mostrou altamente sensível a fatores conjunturais ocorridos no biênio 2023-2024. A inversão de 2024 pode ter sido impulsionada por um conjunto específico de contratações masculinas em faixas salariais superiores, enquanto a reversão de 2025 indica que as arqueólogas se beneficiaram de reajustes ou novas contratações em patamares mais elevados.

A análise da distribuição salarial pode revelar novas informações desse padrão observado na média.

Mostrar código executado
media_anual_dez_masc <- remunera_corrigido %>%
  dplyr::filter(Sexo=="MASCULINO" & vl.rem.dez.nom.corrigido>0) %>% 
  group_by(Ano) %>%
  summarise_at(vars(vl.rem.dez.nom.corrigido), list(media_masculino = ~ round(mean(., na.rm = TRUE),2)))

media_anual_dez_fem <- remunera_corrigido %>%
  dplyr::filter(Sexo=="FEMININO" & vl.rem.dez.nom.corrigido>0) %>% 
  group_by(Ano) %>%
  summarise_at(vars(vl.rem.dez.nom.corrigido), list(media_feminino = ~ round(mean(., na.rm = TRUE),2)))

media_sexos <- full_join(media_anual_dez_fem, media_anual_dez_masc, by= NULL) 

media_sexos2 <- media_sexos %>%
  pivot_longer(-Ano, names_to = "Sexo", values_to = "Média_Dezembro") %>%
  mutate(Sexo = recode(Sexo,
                        media_feminino = "FEMININO",
                        media_masculino = "MASCULINO")) %>%
  mutate(Sexo = factor(Sexo,
                       levels = c("FEMININO", "MASCULINO")),
                Ano = as.factor(Ano))

media_sexos2 %>%
  group_by(Sexo) %>%
  e_charts(Ano, timeline = FALSE) %>%
  e_bar(Média_Dezembro, stack = FALSE) %>%
  e_flip_coords() %>%
  e_y_axis(inverse = TRUE, axisLabel = list(fontSize = 9)) %>%
  e_x_axis(
    axisLabel = list(
      fontSize = 10,
      formatter = htmlwidgets::JS("
        function(value) {
          return 'R$ ' + value.toFixed(2)
            .replace('.', ',')
            .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1.');
        }
      ")
    ),    
    axisLine = list(show = TRUE),
    splitLine = list(show = FALSE)
  ) %>%
  e_title(
    text = "Mercado de Trabalho Formal de Arqueólogos - RAIS 2022 a 2025",
    subtext = "Média Salarial de Dezembro por Sexo",
    left = "center",
    textStyle = list(fontSize = 15, fontWeight = "bold"),
    subtextStyle = list(fontSize = 12, fontWeight = "bold")
  ) %>%
  e_color(c("#D55E00", "#00868B")) %>%
  e_grid(containLabel = TRUE, left = "10%", right = "5%") %>%
  e_tooltip(
    extraCssText = "text-align: left;",
    trigger = "axis",
    formatter = htmlwidgets::JS("
      function(params) {
        var ano = params[0].axisValue;
        var result = 'Ano: ' + ano + '<br/>';
        params.forEach(function(p) {
          var valor = p.value[0];
          // Garantir que valor é número antes de chamar toFixed
          if (typeof valor === 'number') {
            var valorFormatado = 'R$ ' + valor.toFixed(2)
              .replace('.', ',')
              .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1.');
          } else {
            var valorFormatado = 'R$ ' + parseFloat(valor).toFixed(2)
              .replace('.', ',')
              .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1.');
          }
          result += p.marker + ' ' + p.seriesName + ': ' + valorFormatado + '<br/>';
        });
        return result;
      }
    ")
  )
Figura 5.4: Média remuneratória de dezembro por sexo

Pela tabela abaixo, observa-se que a mediana alterna entre os sexos ao longo do período, com diferenças pequenas em 2023 e 2024. Apenas em 2025 que a vantagem feminina se torna expressiva (R$ 648,62 ou 14,4%), bem como a média feminina também ultrapassa a masculina - diferença já documentada na análise acima.

No quartil inferior (Q1), a vantagem feminina também se consolida em 2025, com as trabalhadoras recebendo cerca de 19% a mais que os homens nesse estrato (diferença de R$ 568,46) - indicando que, mesmo entre os menores salários, as arqueólogas estão em posição relativamente melhor. No terço superior (Q3), as mulheres mantêm uma diferença positiva e consistente ao longo de todo o período, mostrando que, quando alcançam o quartil superior, sua remuneração supera a dos homens nesse mesmo patamar.

A base remuneratória também reforça essa vantagem: o mínimo feminino saltou de R$ 393,17 para R$ 1.518 (+286% no acumulado) entre 2022 e 2025, enquanto o masculino cresceu apenas 55% (R$ 393,17 → R$ 610,89).

O cenário se inverte nos extremos superiores. Em 2024, o máximo masculino atinge R$ 33.710,08 - o maior valor declarado da série - enquanto o feminino cai para R$ 18.298,50. Essa disparidade elevou a média masculina acima da feminina naquele ano (R$ 5.615,93 vs. R$ 5.358,61), configurando a única inversão do período. Contudo, em 2025, o máximo masculino recua para R$ 30.597 (−9,2%), enquanto o feminino recupera para R$ 24.420,84 (+33,5%).

Uma hipótese para explicar a alternância observada nos extremos salariais é que os supersalários constituem eventos episódicos, e não atributos permanentes de indivíduos específicos. O máximo masculino de 2024 provavelmente corresponde a um contrato pontual de alto valor que não se repetiu em 2025. O máximo feminino, por sua vez, oscilou entre R$ 18.298,50 e R$ 27.103,79, sugerindo que as mulheres também acessam, mas não chegam a dominar os picos remuneratórios.

Mostrar código executado
resumo_remunera_sexos <- remunera_corrigido %>%
  dplyr::filter(vl.rem.dez.nom.corrigido>0) |> 
  mutate(Sexo = recode(Sexo,
                       "FEMININO" = "Feminino",
                       "MASCULINO" = "Masculino")) %>% 
  group_by(Ano, Sexo) %>%
  summarise(
    Mínimo = min(vl.rem.dez.nom.corrigido, na.rm = TRUE),
    Q1 = quantile(vl.rem.dez.nom.corrigido, 0.25, na.rm = TRUE),
    Mediana = median(vl.rem.dez.nom.corrigido, na.rm = TRUE),
    Média = mean(vl.rem.dez.nom.corrigido, na.rm = TRUE),
    Q3 = quantile(vl.rem.dez.nom.corrigido, 0.75, na.rm = TRUE),
    Máximo = max(vl.rem.dez.nom.corrigido, na.rm = TRUE),
    .groups = "drop"
  ) %>%
  mutate(across(where(is.numeric), ~ round(., 2))) %>%
  pivot_longer(
    cols = c(Mínimo, Q1, Mediana, Média, Q3, Máximo),
    names_to = "Estatística",
    values_to = "Valor"
  ) %>%
  pivot_wider(
    names_from = Ano,
    values_from = Valor
  )

tabela_sexos <- resumo_remunera_sexos %>%
  gt(
    rowname_col = "Sexo",
    groupname_col = "Estatística") %>%
  tab_header(
    title = "Resumo Estatístico",
    subtitle = "Valores Remuneratórios de Dezembro por Sexo") %>%
  fmt_number(
    columns = where(is.numeric),
    decimals = 2,
    sep_mark = ".",
    dec_mark = ",",
    pattern = "R$ {x}"
  ) %>%
  tab_spanner(
    label = "Ano",
    columns = where(is.numeric)) %>%
  cols_align(
    align = "center",
    columns = where(is.numeric)) %>%
  tab_style(
    style = cell_text(weight = "bold"),
    locations = cells_row_groups())

tabela_sexos
Tabela 5.3: Medidas de posição das remunerações nominais de dezembro dos vínculos ativos por sexo
Resumo Estatístico
Valores Remuneratórios de Dezembro por Sexo
Ano
2022 2023 2024 2025
Mínimo
Feminino R$ 393,17 R$ 1.320,00 R$ 799,40 R$ 1.518,00
Masculino R$ 393,17 R$ 523,56 R$ 547,11 R$ 610,89
Q1
Feminino R$ 3.540,11 R$ 3.196,81 R$ 3.013,49 R$ 3.564,68
Masculino R$ 3.451,96 R$ 3.067,50 R$ 3.196,84 R$ 2.996,22
Mediana
Feminino R$ 4.395,34 R$ 4.661,66 R$ 4.652,41 R$ 5.148,62
Masculino R$ 4.526,70 R$ 4.453,31 R$ 4.673,98 R$ 4.500,00
Média
Feminino R$ 5.708,83 R$ 5.563,63 R$ 5.358,61 R$ 6.144,29
Masculino R$ 5.085,01 R$ 5.290,31 R$ 5.615,93 R$ 5.648,15
Q3
Feminino R$ 7.054,72 R$ 6.584,56 R$ 6.300,58 R$ 6.699,66
Masculino R$ 5.869,00 R$ 6.126,40 R$ 6.162,04 R$ 6.313,59
Máximo
Feminino R$ 25.690,79 R$ 27.103,79 R$ 18.298,50 R$ 24.420,84
Masculino R$ 25.298,00 R$ 22.352,96 R$ 33.710,08 R$ 30.597,00