Variável | Descrição |
---|---|
UF | estados |
V2005 | condição no domicílio |
VD4002 | condição de ocupação (1 = ocupado 2 = desocupado) |
V2010 | raça |
V20082 | ano de nascimento |
V2009 | idade (0 a 130) |
V2007 | sexo (1 = homem 2 = mulher) |
VD3005 | anos de estudo |
VD4016 | rendimento mensal habitual no trabalho principal (em reais) |
VD4019 | rendimento mensal habitual em todos os trabalhos (em reais) |
V4040 | tempo de emprego (categorias: 1 mês, menos de 1 ano, menos de 2 anos e 2 anos ou mais) |
V40401 | tempo de emprego (categorias 1 a 11, 01 mês a 11 meses) |
V40402 | tempo de emprego (de 1 ano a 2 anos, categorias: 00 a 11) |
V40403 | tempo de emprego (2 a 98 = 2 anos ou mais) |
A EVOLUÇÃO DO RENDIMENTO SALARIAL NO MERCADO DE TRABALHO
1. Introdução
Análise e manipulação dos microdados da Pesquisa Nacional por Amostra de Domicílios Contínua(PNADC). Passo a passo de como fazer o download dos microdados anuais da PNAD contínua de 2012 a 2023, criar médias e dummies das variáveis e gráficos e tabelas dos dados.
1.1 Dicionário
Dicionário de variáveis utilizadas na análise
1.2 Passos iniciais
Limpando enviroment, instalando e carregando pacotes
#Limpando o environment
#rm(list = ls())
#instalando e carregando pacotes
#install.packages("PNADcIBGE")
#install.packages("dplyr")
#install.packages("gt")
library(PNADcIBGE)
library(dplyr)
library(gt)
2. Extração, Filtragem e Manipulação dos dados
2.1. Extração
Selecionando variáveis baseado no dicionário da PNAD
#selecionado as variáveis
<- c("UF","V2005","VD4002","V2010","V2009", "V2007","VD4016", "VD4019", "VD3005","V4040","V40401","V40402", "V40403", "V20082") varselec
Baixando base de dados de 2012 a 2023
O código abaixo faz download e armazena os dados de todos os anos de 2012 a 2023 baixados com a função get_pnadc
e realiza um loop for
para não precisar ficar repetindo o código para todos os anos. O paramêtro Deflator = TRUE
serve para inserir a variável para deflacionamento dos dados de remuneração.
for (ano in 2020:2021) {
assign(
paste0("PNADC", ano),
get_pnadc(
year = ano,
interview = 1,
design = FALSE,
labels = FALSE,
deflator = TRUE,
vars = varselec
)
) }
2.1. Filtragem
Utilizando novamente um loop for
, para que não seja preciso repetir o mesmo código para todos os anos, porém, no caso abaixo foram utilizados vários loops for
pela necessidade de criar alguns blocos de códigos e explicados, o mesmo poderia ter sido feito apenas com um loop. Os blocos abaixo estão interligados por pipes( |>
). Atenção aos # comentários
nos blocos de código para entender o que acontece em cada um deles. CO1 é a variável inserida para deflacionamento quando deflator = TRUE
.
# criação do loop for
for (ano in 2022:2023) {
<- get(paste0("PNADC", ano))
dados_PNAD
<- dados_PNAD |>
dados_PNAD # selecionando as variáveis desejadas
select(
Ano, Trimestre, UF, UPA, V1008, V1014, V2005, VD4002, V2010, V20082,
V2007, V2009, VD4016, VD4019, VD3005, V4040, V40401, V40402, V40403, CO1|>
)# filtrando por data de nascimento
filter(
>= 1958 &
V20082 != 9999
V20082
)assign(paste0("1dados_PNAD", ano), dados_PNAD)
}
2.2. Manipulação(Criação de Dummies e Médias)
Criação das colunas de escolaridade média geral e de faixas etárias geral do banco de dados, além disso, criação de dummies e médias por sexos e por raça(branco e não branco)
Neste bloco de código é calculado a escolaridade geral do banco de dados, é criadas as faixas etárias, sendo 20 a 29 anos faixa 1, 30 a 39 faixa 2, 40 a 49 faixa 3 e 50 a 65 anos faixas 4. Também são criadas colunas dummies onde, por exemplo, na coluna homem 1 significa que aquela observação é de um indivíduo do sexo masculino e 0, o contrário. O mesmo serve para dummues com base navariável de raça.
for (ano in 2012:2023) {
if (ano == 2020 || ano == 2021){
next
}<- get(paste0("dados_PNAD", ano))
dados_PNAD
<- dados_PNAD |>
dados_PNAD # Criando as colunas de Escolaridade Média Geral e Faixas Etárias
mutate(
_GERAL = mean(as.numeric(VD3005), na.rm = TRUE),
EscolariadeMédia= ifelse(V20082 >= 1960 & V20082 <= 1974, 4, ifelse(
FaixasEtárias >= 1975 & V20082 <= 1984, 3, ifelse(
V20082 >= 1985 & V20082 <= 1994, 2, ifelse(
V20082 >= 1995 & V20082 <= 2004, 1, NA))))
V20082 |>
)# criando colunas de dummies e médias para cada sexo
mutate(
Homem = ifelse(V2007 == 1, 1, 0),
Mulher = ifelse(V2007 == 1, 0, 1),
_sexos = ifelse(V2007 == 1, mean(Homem)*100, mean(Mulher)*100),
Média= ifelse(V2007 == 1, mean(Homem)*100, 0),
MédiaHomem = ifelse(V2007 == 1, 0, mean(Mulher)*100)
MédiaMulher |>
)# criando colunas de dummies e médias para brancos e não brancos
mutate(
Branco = ifelse(V2010 == 1, 1, 0),
Branco = ifelse(V2010 == 1, 0, 1),
ñ= ifelse(V2010 == 1, mean(Branco)*100, mean(ñBranco)*100),
Média_raças = ifelse(V2010 == 1, mean(Branco)*100, 0),
MédiaBranco Branco = ifelse(V2010 == 1, 0, mean(ñBranco)*100)
Média_ñ
)assign(paste0("2dados_PNAD", ano), dados_PNAD)
}
Criação da colunas de renda
Na primeira parte do bloco abaixo, com variável VD4019, renda habitual dos indivíduos, é possível criar a coluna de renda média geral, renda real, multiplicando VD4019 por CO1, e também, a renda real média geral, além disso, ainda é calculado o tempo médio de emprego geral do banco de dados. Na segundo parte do bloco, são criadas as colunas dummies com base na condição de domicílio, chefe de família, conjuge, casados, não casados, filhos menores de 10 anos e casados com e sem filhos.
for (ano in 2012:2023) {
if (ano == 2020 || ano == 2021){
next
} <- get(paste0("2dados_PNAD", ano))
dados_PNAD
<- dados_PNAD |>
dados_PNAD # criando coluna de média real
mutate(
VD4019real = VD4019 * CO1,
_GERAL = mean(VD4019, na.rm = TRUE),
RendaMédia_GERAL = mean(VD4019real, na.rm = TRUE),
RendaRealMédia_GERAL = mean(V40403, na.rm = TRUE),
TempoMédioEmprego#criando variável de domicílio com base nas 3 variáveis abaixo
= paste0(UPA, V1008, V1014)
Domicílio |>
)# criando colunas de dummies pela condição de domicílio
group_by(Domicílio) |>
mutate(
ChefeFamilia = ifelse(V2005 == 1, 1, 0),
Conjuge = ifelse(V2005 == 2, 1, 0),
Casados = ifelse(ChefeFamilia == 1 | (Conjuge == 1 & any(ChefeFamilia == 1)) & V2009 >= 18, 1, 0),
casados = ifelse(Casados == 0 & V2009 >= 18, 1, 0),
ñFilhos_menores = ifelse(V2005 >= 4 & V2005 <= 6 & V2009 < 10, 1, 0),
CasadosComFilhoMenor = ifelse(Casados == 1 & any(Filhos_menores == 1), 1, 0),
CasadosSemFilhoMenor = ifelse(Casados == 1 & !any(Filhos_menores == 1), 1, 0)
|>
)ungroup() |>
mutate( #TODO corrigir a média estado civil(tem alguma coisa errada com esse code block pq os dados não estão batendo)
_estadocivil = ifelse(Casados == 1, mean(Casados, na.rm = TRUE)*100, mean(ñcasados, na.rm = TRUE)*100),
média_CasadosComFilhorMenor = ifelse(CasadosComFilhoMenor==1, mean(CasadosComFilhoMenor, na.rm = TRUE)*100,
médiamean(CasadosSemFilhoMenor, na.rm = TRUE)*100)
)assign(paste0("3dados_PNAD", ano), dados_PNAD)
}
Criação de ID, médias por ID e médias por faixa etária
No bloco abaixo é criada a ID com base na data de nascimento e sexo, ou seja, se um indivíduo do sexo masculino nasceu em 1990 sua ID será 19901, o mesmo exemplo para uma mulher seria a ID 19902. Com isso, é possível criar as médias por ID de todas as variáveis, como raça, estado civil, ser chefe de familia, escolaridade, renda e entre outras. Além disso, são calculadas as médias, das mesmas variáveis, mas dessa vez por faixas etárias
for (ano in 2012:2023) {
if (ano == 2020 || ano == 2021){
next
}<- get(paste0("3dados_PNAD", ano))
dados_PNAD # Criando ID com ano de nascimento e sexo
$ID <- apply(dados_PNAD[, c("V20082", "V2007")], 1, paste, collapse = "")
dados_PNAD
# Médias por ID
<- dados_PNAD |>
dados_PNAD group_by(ID) |>
mutate(
_ID = mean(Branco, na.rm = TRUE),
MédiaBranco_ID = mean(ñBranco, na.rm = TRUE),
MédiaÑbranco_ID = mean(Casados, na.rm = TRUE),
MédiaCasados_ID = mean(ñcasados, na.rm = TRUE),
MédiaÑcasadosComFilho_ID = mean(CasadosComFilhoMenor, na.rm = TRUE),
SemFilho_ID = mean(CasadosSemFilhoMenor, na.rm = TRUE),
_ID = mean(Conjuge, na.rm = TRUE),
MédiaConjuge_ID = mean(ChefeFamilia, na.rm = TRUE),
MédiaChefeFamilia_ID = mean(VD3005, na.rm = TRUE),
EscolaridadeMédia_ID = mean(VD4019, na.rm = TRUE),
RendaMédia_ID = mean(VD4019real, na.rm = TRUE),
RendaMédiaReal_ID = mean(V40403, na.rm = TRUE)
TempoMédioEmprego|>
) ungroup()|>
group_by(
FaixasEtárias|>
)mutate(
= mean(Branco, na.rm = TRUE),
MédiaBranco_FaixaEtária = mean(ñBranco, na.rm = TRUE),
MédiaÑbranco_FaixaEtária = mean(Casados, na.rm = TRUE),
MédiaCasados_FaixaEtária = mean(ñcasados, na.rm = TRUE),
MédiaÑcasados_FaixaEtária = mean(CasadosComFilhoMenor, na.rm = TRUE),
ComFilho_FaixaEtária = mean(CasadosSemFilhoMenor, na.rm = TRUE),
SemFilho_FaixaEtária = mean(Conjuge, na.rm = TRUE),
MédiaConjuge_FaixaEtária = mean(ChefeFamilia, na.rm = TRUE),
MédiaChefeFamilia_FaixaEtária = mean(VD3005, na.rm = TRUE),
EscolaridadeMédia_FaixaEtária = mean(VD4019, na.rm = TRUE),
RendaMédia_FaixaEtária = mean(VD4019real, na.rm = TRUE),
RendaMédiaReal_FaixaEtária = mean(V40403, na.rm = TRUE)
TempoMédioEmprego_FaixaEtária |>
)ungroup()
assign(paste0("4dados_PNAD", ano), dados_PNAD)
}
Resolvendo o problema da falta de dados de remuneração e ocupação de pessoas menores de 14 anos
Foi preciso primeiramente separar as pessoas menores de 14 do banco de dados principal porque ao fazer a filtragem por condição de ocupação e remuneração esses indivíduos seriam excluídos, visto que essas variáveis só captam indivíduos com 14 anos ou mais. Por fim, foi feita a filtragem de dados final do bancos de dados para indivíduos ocupados, maiores de 20 anos e renda até 100 mil.
<- list()
dados_lista
for (ano in 2012:2023) {
if (ano == 2020 || ano == 2021){
next
} <- get(paste0("4dados_PNAD", ano))
dados_PNAD # Filtrando dados pela condição de ocupação, nascimento e renda
<- dados_PNAD |>
dados_PNAD filter(
== 1 &
VD4002 <= 2003 &
V20082 <= 100000
VD4019
)# Adicionando os dados filtrados na lista
paste0("dadosfiltrados", ano)]] <- dados_PNAD
dados_lista[[
}
# Salvando os dados dos anos em um único objeto
<- bind_rows(dados_lista)
dados_anuais
#unique(dados_anuais$Ano)
3. Estatística Descritiva
3.1. Estatística Descritiva Geral do Banco de Dados
#ESTATÍSTICA DESCRITIVA
#evitar notação científica nos resultados da estatística descritiva
options(scipen = 9999)
options(max.print = 100000)
# DADOS GERAIS DAS OBSERVAÇÕES ----
# quantidade de observações
<- nrow(dados_anuais)
qtd_obs
#quantidade de observações por ano
<- dados_anuais |>
qtd_obsANO select(
Ano|>
)group_by(
Ano|>
)summarise(
qtd_obs = n(), .groups = 'drop'
)
# quantidades e porcentagem por sexo
<- dados_anuais |>
dados_sexos group_by(
Ano, V2007|>
) summarise(
quantidade = n(), .groups = 'drop'
|>
) group_by(
Ano|>
) mutate(
porcentagem = (quantidade/sum(quantidade))*100,
sexo = ifelse(V2007==2,"Mulheres", "Homens")
|>
) ungroup()
<- dados_sexos |>
dados_homens filter(
== 'Homens'
sexo |>
) select(
-V2007
)
<- dados_homens |>
qtd_homens select(
-porcentagem, -sexo
|>
)rename(
qtd_homens = quantidade
)
<- dados_sexos |>
dados_mulheres filter(
== 'Mulheres'
sexo |>
)select(
-V2007
)
<- dados_mulheres |>
qtd_mulheres select(
-porcentagem, -sexo
|>
)rename(
qtd_mulheres = quantidade
)
# quantidade e porcentagem por estado conjugal
<- dados_anuais |>
dados_estadocivil group_by(
Ano, Casados|>
)summarise(
quantidade = n(), .groups = 'drop'
|>
) group_by(
Ano, Casados|>
) mutate(
porcentagem = (quantidade/sum(quantidade))*100,
EstadoCivil = ifelse(Casados==1,"Casados", "Ñcasados")
|>
)ungroup()
<- dados_estadocivil|>
casados filter(
== "Casados"
EstadoCivil |>
)select(
-Casados
)
<- casados |>
qtd_casados select(
-porcentagem, -EstadoCivil
|>
)rename(
qtd_casados = quantidade
)
<- dados_estadocivil|>
ñcasados filter(
== "Ñcasados"
EstadoCivil |>
)select(
-Casados
)
<- ñcasados |>
qtd_ñcasados select(
-porcentagem, -EstadoCivil
|>
)rename(
casados = quantidade
qtd_ñ )
# quantidade e porcentagem de brancos e ñbrancos
<- dados_anuais |>
dados_raças group_by(
Ano, Branco|>
) summarise(
quantidade = n(), .groups = 'drop'
|>
) group_by(
Ano|>
) mutate(
porcentagem = (quantidade/sum(quantidade))*100,
= ifelse(Branco==1,"Branco", "Ñbranco")
Raça |>
) ungroup()
<- dados_raças|>
brancos filter(
== "Branco"
Raça |>
) select(
-Branco,
)
<- brancos |>
qtd_brancos filter(
== "Branco"
Raça |>
) select(
-Raça, -porcentagem
|>
) rename(
qtd_brancos = quantidade
)
<- dados_raças|>
ñbrancos filter(
== "Ñbranco"
Raça |>
)select(
-Branco
)
<- ñbrancos |>
qtd_ñbrancos filter(
== "Ñbranco"
Raça |>
) select(
-Raça, -porcentagem
|>
)rename(
brancos = quantidade
qtd_ñ )
# quantidade e porcentagem de chefes de familia
<- dados_anuais|>
qtd_chefeFamilia filter(
== 1
ChefeFamilia |>
) group_by(
Ano|>
)summarise(
qtd_ChefesFamilia = n(), .groups = 'drop'
)
# quantidade e porcentagem de conjuges
<- dados_anuais|>
qtd_conjuges filter(
== 1
Conjuge |>
)group_by(
Ano|>
)summarise(
qtd_conjuges = n(), .groups = 'drop'
)
# quantidade e porcentagem de filhos menores de 10 anos
<- dados_anuais |>
qtd_filhosmenores filter(
== 1
Filhos_menores |>
) group_by(
Ano|>
) summarise(
qtd_filhosmenores = n(), .groups = 'drop'
)
# quantidade e porcentagens de pessoas a dependar da escolaridade
<- dados_anuais |>
qtd_escolaridade group_by(
Ano, VD3005|>
) summarise(
quantidade = n(), .groups = 'drop' # Removendo os grupos após a sumarização
|>
) group_by(
Ano|> # Reagrupando por Ano para calcular a porcentagem corretamente
) mutate(
porcentagem = (quantidade / sum(quantidade) * 100)
)
# # Pivotando o dataframe para ter uma linha por Ano e as porcentagens das escolaridades como colunas
# qtd_escolaridade <- qtd_escolaridade |>
# pivot_wider(
# names_from = VD3005, # As escolaridades vão virar o nome das colunas
# values_from = porcentagem, # A porcentagem será o valor nas novas colunas
# names_prefix = "escolaridade_" # Prefixo para o nome das colunas
# )
#tabela dados gerais das observações
<- list(qtd_obsANO, qtd_homens, qtd_mulheres, qtd_casados,
dfs_dadosgerais
qtd_ñcasados, qtd_brancos, qtd_ñbrancos,
qtd_chefeFamilia, qtd_conjuges)
<- Reduce(function(x, y) full_join(x, y, by = "Ano"), dfs_dadosgerais)
tabela_dadosgerais
# Arredondando todas as colunas numéricas para 2 casas decimais
<- tabela_dadosgerais |>
tabela_dadosgerais mutate(across(where(is.numeric), ~ round(.x, 2)))
|>
tabela_dadosgerais gt()
Ano | qtd_obs | qtd_homens | qtd_mulheres | qtd_casados | qtd_ñcasados | qtd_brancos | qtd_ñbrancos | qtd_ChefesFamilia | qtd_conjuges |
---|---|---|---|---|---|---|---|---|---|
2012 | 149109 | 87890 | 61219 | 100015 | 49094 | 66468 | 82641 | 69045 | 34691 |
2013 | 154058 | 90600 | 63458 | 105557 | 48501 | 67396 | 86662 | 72689 | 36530 |
2014 | 156043 | 92171 | 63872 | 107825 | 48218 | 68381 | 87662 | 74217 | 37192 |
2015 | 155881 | 91824 | 64057 | 109340 | 46541 | 67562 | 88319 | 74877 | 37858 |
2016 | 149579 | 87959 | 61620 | 107726 | 41853 | 64020 | 85559 | 72560 | 38031 |
2017 | 150082 | 87609 | 62473 | 108777 | 41305 | 63326 | 86756 | 72341 | 39167 |
2018 | 146850 | 85247 | 61603 | 107393 | 39457 | 61277 | 85573 | 71009 | 38933 |
2019 | 151161 | 87667 | 63494 | 110851 | 40310 | 62116 | 89045 | 71618 | 41511 |
2022 | 127232 | 73169 | 54063 | 95214 | 32018 | 52740 | 74492 | 60969 | 35725 |
2023 | 133135 | 75990 | 57145 | 103301 | 29834 | 55260 | 77875 | 66206 | 38422 |
3.2. Estatística Descritiva Renda Real Média
# renda real total por ano
<- dados_anuais |>
rendareal select(
Ano, VD4019real|>
) group_by(
Ano|>
) summarise(
SomaRendaReal = sum(VD4019real, na.rm = TRUE), .groups = 'drop'
)
# renda real média por ano
<- dados_anuais |>
RendaReal_Média_Ano select(
Ano, VD4019real|>
) group_by(
Ano|>
) summarise(
= mean(VD4019real, na.rm = TRUE), .groups = 'drop'
RendaReal_MédiaAno
)
#mediana da renda real por ano
<- dados_anuais |>
mediana_rendareal select(
Ano, VD4019real|>
) group_by(
Ano|>
) summarise(
mediana = median(VD4019real, na.rm = TRUE)
)
#renda média real dos homens
<- dados_anuais |>
RendaReal_Média_Homens select(
Ano, V2007, VD4019real|>
) filter(
== 1
V2007 |>
) group_by(
Ano|>
) summarise(
_Homens = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
RendaMédia
)
#renda média real das mulheres
<- dados_anuais |>
RendaReal_Média_Mulheres select(
Ano, V2007, VD4019real|>
) filter(
== 2
V2007 |>
) group_by(
Ano|>
) summarise(
_Mulheres = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
RendaMédia
)
# renda real média anual por sexo
<- dados_anuais |>
RendaRealMédia_sexos select(
Ano, V2007, VD4019real|>
) group_by(
Ano, Sexo = case_when(
== 1 ~ "Homens",
V2007 == 2 ~ "Mulheres"
V2007 |>
)) summarise(RendaMédia_sexos = mean(VD4019real, na.rm = TRUE), .groups = 'drop')
#renda real média por id
<- dados_anuais |>
RendaReal_Média_ID select(
Ano, ID, VD4019real|>
) group_by(
Ano, ID|>
) summarise(
_ID = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
RendaMédiaReal )
# renda real média branco por ano
<- dados_anuais |>
RendaReal_Média_Brancos select(
Ano, V2010, VD4019real|>
) filter(
== 1
V2010 |>
) group_by(
Ano|>
) summarise(
_Brancos = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
RendaMédia
)
# renda real média não branco por ano
<- dados_anuais |>
RendaReal_Média_ñBrancos select(
Ano, V2010, VD4019real|>
) filter(
!= 1
V2010 |>
) group_by(
Ano|>
) summarise(
Brancos = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
RendaMédia_ñ )
# renda real média anual por estado conjugal
<- dados_anuais |>
RendaRealMédia_conjugal select(
Ano, Casados, CasadosComFilhoMenor, VD4019real|>
) group_by(
Ano, Estado.Civil = case_when(
== 1 & CasadosComFilhoMenor == 1 ~ "CasadosComFilhoMenor", # Casados com filho menor
Casados == 1 & CasadosComFilhoMenor != 1 ~ "CasadosSemFilhoMenor", # Casados sem filho menor
Casados != 1 & CasadosComFilhoMenor == 1 ~ "ÑcasadosComFilhoMenor", # Não casados com filho menor
Casados != 1 & CasadosComFilhoMenor != 1 ~ "ÑcasadosSemFilhoMenor" # não casados e sem filhos menor
Casados |>
)) summarise(RendaMédia_conjugal = mean(VD4019real, na.rm = TRUE), .groups = 'drop')
# renda real média anual chefe de familia
<- dados_anuais |>
RendaReal_Média_chefe select(
Ano, ChefeFamilia, VD4019real|>
) filter(
== 1
ChefeFamilia |>
) group_by(
Ano|>
) summarise(
_Chefe = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
RendaMédia )
# renda real média real por idade
<- dados_anuais |>
RendaReal_Média_idade select(
Ano, V2009, VD4019real|>
) group_by(
Ano, V2009|>
) summarise(
_idade = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
RendaMédia )
# renda real média anual por regiões
<- c(11,12,13,14,15,16,17)
norte <- c(21,22,23,24,25,26,27,28,29)
nordeste <- c(31, 32, 33, 34, 35)
sudeste <- c(41,42,43)
sul <- c(50,51,52,53)
centro_oeste
<- c(norte, nordeste, sudeste, sul, centro_oeste)
regiões
# renda real média anual por estados do norte
<- dados_anuais |>
RendaReal_Média_UFnorte select(
Ano, UF, VD4019real|>
) group_by(
Ano, UF|>
)summarise(
_UFnorte = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
RendaMédia|>
)filter(
== norte
UF
)
# renda real média anual por estados do nordeste
<- dados_anuais |>
RendaReal_Média_UFnordeste select(
Ano, UF, VD4019real|>
) group_by(
Ano, UF|>
)summarise(
_UFnordeste = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
RendaMédia|>
)filter(
== nordeste
UF
)
# renda real média anual por estados do sudeste
<- dados_anuais |>
RendaReal_Média_UFsudeste select(
Ano, UF, VD4019real|>
) group_by(
Ano, UF|>
)summarise(
_UFsudeste = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
RendaMédia|>
)filter(
== sudeste
UF
)
# renda real média anual por estados do sul
<- dados_anuais |>
RendaReal_Média_UFsul select(
Ano, UF, VD4019real|>
) group_by(
Ano, UF|>
)summarise(
_UFsul = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
RendaMédia|>
)filter(
== sul
UF
)
# renda real média anual por estados do centro oeste
<- dados_anuais |>
RendaReal_Média_UFcentro.oeste select(
Ano, UF, VD4019real|>
) group_by(
Ano, UF|>
)summarise(
_UFcentro.oeste = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
RendaMédia|>
)filter(
== norte
UF
)
# Definir as regiões e seus respectivos estados
<- list(
regioes Norte = c(11,12,13,14,15,16,17),
Nordeste = c(21,22,23,24,25,26,27,28,29),
Sudeste = c(31, 32, 33, 34, 35),
Sul = c(41,42,43),
CentroOeste = c(50,51,52,53)
)
# Criar uma função para calcular a renda média por região
<- dados_anuais |>
rendaReal_media_UF select(
Ano, UF, VD4019real|>
) filter(
%in% unlist(regioes)
UF |>
) group_by(
Ano, UF|>
) summarise(
= mean(VD4019real, na.rm = TRUE), .groups = 'drop') |>
RendaMédia mutate(
= case_when(
Região %in% regioes$Norte ~ "Norte",
UF %in% regioes$Nordeste ~ "Nordeste",
UF %in% regioes$Sudeste ~ "Sudeste",
UF %in% regioes$Sul ~ "Sul",
UF %in% regioes$CentroOeste ~ "CentroOeste"
UF ))
# tabelas renda real média
# tabela_renda_região <- renda_media_por_regiao |>
# mutate(across(where(is.numeric), ~ round(.x, 2)))
#
# tabela_renda_região |>
# gt()
#criando tabela
<- list(RendaReal_Média_Ano, mediana_rendareal,
dfs
RendaReal_Média_Homens, RendaReal_Média_Mulheres,
RendaReal_Média_Brancos, RendaReal_Média_ñBrancos,
RendaReal_Média_chefe)
# Usando Reduce para juntar os data frames
<- Reduce(function(x, y) full_join(x, y, by = "Ano"), dfs)
tabela_rendareal
# Arredondando todas as colunas numéricas para 2 casas decimais
<- tabela_rendareal |>
tabela_rendareal mutate(across(where(is.numeric), ~ round(.x, 2)))
|>
tabela_rendareal gt()
Ano | RendaReal_MédiaAno | mediana | RendaMédia_Homens | RendaMédia_Mulheres | RendaMédia_Brancos | RendaMédia_ñBrancos | RendaMédia_Chefe |
---|---|---|---|---|---|---|---|
2012 | 1301.88 | 804.92 | 1425.68 | 1124.15 | 1649.62 | 1022.20 | 1569.20 |
2013 | 1440.03 | 889.96 | 1588.93 | 1227.45 | 1832.73 | 1134.63 | 1715.71 |
2014 | 1565.77 | 993.44 | 1711.23 | 1355.85 | 1983.28 | 1240.08 | 1842.15 |
2015 | 1663.60 | 1032.54 | 1810.80 | 1452.59 | 2114.12 | 1318.97 | 1946.11 |
2016 | 1783.61 | 1124.16 | 1921.81 | 1586.33 | 2298.07 | 1398.66 | 2031.58 |
2017 | 1877.16 | 1197.41 | 2024.70 | 1670.26 | 2423.83 | 1478.13 | 2141.75 |
2018 | 2013.52 | 1218.99 | 2174.79 | 1790.35 | 2602.70 | 1591.61 | 2291.26 |
2019 | 2074.80 | 1286.93 | 2243.82 | 1841.44 | 2700.48 | 1638.34 | 2334.76 |
2022 | 2580.02 | 1538.04 | 2804.53 | 2276.17 | 3324.04 | 2053.26 | 2863.59 |
2023 | 2825.88 | 1779.38 | 3053.51 | 2523.19 | 3649.48 | 2241.45 | 3084.83 |
unique(dados_anuais$V20082)
3.3. Estatística Descritiva Gráfica
#instalando pacote para gerar os gráficos
#install.packages("ggplot2")
library(ggplot2)
# gráfico quantidades
# Transformar a tabela para o formato long
<- tabela_dadosgerais |>
tabelalong_dadosgerais pivot_longer(cols = starts_with("qtd_"),
names_to = "Categoria",
values_to = "Quantidade")
# Criar o gráfico de linhas com várias linhas, uma para cada categoria
ggplot(tabelalong_dadosgerais, aes(x = Ano, y = Quantidade, color = Categoria, group = Categoria)) +
geom_line() +
labs(title = "Quantidade por Variáve ao Longo dos Anos",
x = "Ano",
y = "Quantidade") +
theme_minimal() +
scale_color_manual(values = c("blue", "red", "green", "purple", "orange", "brown", "pink", "cyan", "yellow"))
#gráfico tabela renda real
# Transformar a tabela tabela_rendareal para o formato long
<- tabela_rendareal |>
tabelalong_rendareal pivot_longer(cols = -Ano,
names_to = "Categoria",
values_to = "Quantidade")
# Criar o gráfico de linhas com várias linhas, uma para cada categoria
ggplot(tabelalong_rendareal, aes(x = Ano, y = Quantidade, color = Categoria, group = Categoria)) +
geom_line() +
labs(title = "Renda Real ao Longo dos Anos",
x = "Ano",
y = "Quantidade") +
theme_minimal() +
scale_color_manual(values = c("blue", "red", "green", "purple", "orange", "brown", "pink", "cyan", "yellow"))
3. Criando Pseudo Painel
#Criando grupos por ID
{<- dados_anuais |>
dados_anuais mutate(
Grupo1 = case_when(
== 19581 ~ 1,
ID == 19582 ~ 2,
ID == 19591 ~ 3,
ID == 19592 ~ 4,
ID == 19601 ~ 5,
ID == 19602 ~ 6,
ID == 19611 ~ 7,
ID == 19612 ~ 8,
ID == 19621 ~ 9,
ID == 19622 ~ 10,
ID == 19631 ~ 11,
ID == 19632 ~ 12,
ID == 19641 ~ 13,
ID == 19642 ~ 14,
ID == 19651 ~ 15,
ID == 19652 ~ 16,
ID == 19661 ~ 17,
ID == 19662 ~ 18,
ID == 19671 ~ 19,
ID == 19672 ~ 20,
ID == 19681 ~ 21,
ID == 19682 ~ 22,
ID == 19691 ~ 23,
ID == 19692 ~ 24,
ID == 19701 ~ 25,
ID == 19702 ~ 26,
ID == 19711 ~ 27,
ID == 19712 ~ 28,
ID == 19721 ~ 29,
ID == 19722 ~ 30,
ID == 19731 ~ 31,
ID == 19732 ~ 32,
ID == 19741 ~ 33,
ID == 19742 ~ 34,
ID == 19751 ~ 35,
ID == 19752 ~ 36,
ID == 19761 ~ 37,
ID == 19762 ~ 38,
ID == 19771 ~ 39,
ID == 19772 ~ 40,
ID == 19781 ~ 41,
ID == 19782 ~ 42,
ID == 19791 ~ 43,
ID == 19792 ~ 44,
ID == 19801 ~ 45,
ID == 19802 ~ 46,
ID == 19811 ~ 47,
ID == 19812 ~ 48,
ID == 19821 ~ 49,
ID == 19822 ~ 50,
ID == 19831 ~ 51,
ID == 19832 ~ 52,
ID == 19841 ~ 53,
ID == 19842 ~ 54,
ID == 19851 ~ 55,
ID == 19852 ~ 56,
ID == 19861 ~ 57,
ID == 19862 ~ 58,
ID == 19871 ~ 59,
ID == 19872 ~ 60,
ID == 19881 ~ 61,
ID == 19882 ~ 62,
ID == 19891 ~ 63,
ID == 19892 ~ 64,
ID == 19901 ~ 65,
ID == 19902 ~ 66,
ID == 19911 ~ 67,
ID == 19912 ~ 68,
ID == 19921 ~ 69,
ID == 19922 ~ 70,
ID == 19931 ~ 71,
ID == 19932 ~ 72,
ID == 19941 ~ 73,
ID == 19942 ~ 74,
ID == 19951 ~ 75,
ID == 19952 ~ 76,
ID == 19961 ~ 77,
ID == 19962 ~ 78,
ID == 19971 ~ 79,
ID == 19972 ~ 80,
ID == 19981 ~ 81,
ID == 19982 ~ 82,
ID == 19991 ~ 83,
ID == 19992 ~ 84,
ID == 20001 ~ 85,
ID == 20002 ~ 86,
ID == 20011 ~ 87,
ID == 20012 ~ 88,
ID == 20021 ~ 89,
ID == 20022 ~ 90,
ID == 20031 ~ 91,
ID == 20032 ~ 92,
ID TRUE ~ 0),
Grupo2 = case_when(
>= 19581 & ID <= 19582 ~ 1,
ID >= 19591 & ID <= 19592 ~ 2,
ID >= 19601 & ID <= 19602 ~ 3,
ID >= 19611 & ID <= 19612 ~ 4,
ID >= 19621 & ID <= 19622 ~ 5,
ID >= 19631 & ID <= 19632 ~ 6,
ID >= 19641 & ID <= 19642 ~ 7,
ID >= 19651 & ID <= 19652 ~ 8,
ID >= 19661 & ID <= 19662 ~ 9,
ID >= 19671 & ID <= 19672 ~ 10,
ID >= 19681 & ID <= 19682 ~ 11,
ID >= 19691 & ID <= 19692 ~ 12,
ID >= 19701 & ID <= 19702 ~ 13,
ID >= 19711 & ID <= 19712 ~ 14,
ID >= 19721 & ID <= 19722 ~ 15,
ID >= 19731 & ID <= 19732 ~ 16,
ID >= 19741 & ID <= 19742 ~ 17,
ID >= 19751 & ID <= 19752 ~ 18,
ID >= 19761 & ID <= 19762 ~ 19,
ID >= 19771 & ID <= 19772 ~ 20,
ID >= 19781 & ID <= 19782 ~ 21,
ID >= 19791 & ID <= 19792 ~ 22,
ID >= 19801 & ID <= 19802 ~ 23,
ID >= 19811 & ID <= 19812 ~ 24,
ID >= 19821 & ID <= 19822 ~ 25,
ID >= 19831 & ID <= 19832 ~ 26,
ID >= 19841 & ID <= 19842 ~ 27,
ID >= 19851 & ID <= 19852 ~ 28,
ID >= 19861 & ID <= 19862 ~ 29,
ID >= 19871 & ID <= 19872 ~ 30,
ID >= 19881 & ID <= 19882 ~ 31,
ID >= 19891 & ID <= 19892 ~ 32,
ID >= 19901 & ID <= 19902 ~ 33,
ID >= 19911 & ID <= 19912 ~ 34,
ID >= 19921 & ID <= 19922 ~ 35,
ID >= 19931 & ID <= 19932 ~ 36,
ID >= 19941 & ID <= 19942 ~ 37,
ID >= 19951 & ID <= 19952 ~ 38,
ID >= 19961 & ID <= 19962 ~ 39,
ID >= 19971 & ID <= 19972 ~ 40,
ID >= 19981 & ID <= 19982 ~ 41,
ID >= 19991 & ID <= 19992 ~ 42,
ID >= 20001 & ID <= 20002 ~ 43,
ID >= 20011 & ID <= 20012 ~ 44,
ID >= 20021 & ID <= 20022 ~ 45,
ID >= 20031 & ID <= 20032 ~ 46,
ID TRUE ~ 0))
}
# Desenvolvendo o Pseudo-Painel para 2023
# ## Médias por ID das Unidades Federativas
# {
# dados_anuais <- dados_anuais |>
# mutate(
# MédiaIDNorte = case_when(
# UF >= 11 & UF <= 17 & Grupo1 == 1 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 1,
# na.rm = TRUE)/ (sum(Grupo1 == 1, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 2 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 2,
# na.rm = TRUE)/ (sum(Grupo1 == 2, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 3 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 3,
# na.rm = TRUE)/ (sum(Grupo1 == 3, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 4 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 4,
# na.rm = TRUE)/ (sum(Grupo1 == 4, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 5 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 5,
# na.rm = TRUE)/ (sum(Grupo1 == 5, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 6 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 6,
# na.rm = TRUE)/ (sum(Grupo1 == 6, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 7 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 7,
# na.rm = TRUE)/ (sum(Grupo1 == 7, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 8 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 8,
# na.rm = TRUE)/ (sum(Grupo1 == 8, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 9 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 9,
# na.rm = TRUE)/ (sum(Grupo1 == 9, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 10 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 10,
# na.rm = TRUE)/ (sum(Grupo1 == 10, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 11 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 11,
# na.rm = TRUE)/ (sum(Grupo1 == 11, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 12 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 12,
# na.rm = TRUE)/ (sum(Grupo1 == 12, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 13 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 13,
# na.rm = TRUE)/ (sum(Grupo1 == 13, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 14 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 14,
# na.rm = TRUE)/ (sum(Grupo1 == 14, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 15 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 15,
# na.rm = TRUE)/ (sum(Grupo1 == 15, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 16 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 16,
# na.rm = TRUE)/ (sum(Grupo1 == 16, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 17 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 17,
# na.rm = TRUE)/ (sum(Grupo1 == 17, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 18 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 18,
# na.rm = TRUE)/ (sum(Grupo1 == 18, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 19 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 19,
# na.rm = TRUE)/ (sum(Grupo1 == 19, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 20 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 20,
# na.rm = TRUE)/ (sum(Grupo1 == 20, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 21 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 21,
# na.rm = TRUE)/ (sum(Grupo1 == 21, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 22 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 22,
# na.rm = TRUE)/ (sum(Grupo1 == 22, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 23 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 23,
# na.rm = TRUE)/ (sum(Grupo1 == 23, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 24 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 24,
# na.rm = TRUE)/ (sum(Grupo1 == 24, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 25 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 25,
# na.rm = TRUE)/ (sum(Grupo1 == 25, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 26 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 26,
# na.rm = TRUE)/ (sum(Grupo1 == 26, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 27 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 27,
# na.rm = TRUE)/ (sum(Grupo1 == 27, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 28 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 28,
# na.rm = TRUE)/ (sum(Grupo1 == 28, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 29 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 29,
# na.rm = TRUE)/ (sum(Grupo1 == 29, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 30 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 30,
# na.rm = TRUE)/ (sum(Grupo1 == 30, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 31 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 31,
# na.rm = TRUE)/ (sum(Grupo1 == 31, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 32 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 32,
# na.rm = TRUE)/ (sum(Grupo1 == 32, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 33 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 33,
# na.rm = TRUE)/ (sum(Grupo1 == 33, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 34 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 34,
# na.rm = TRUE)/ (sum(Grupo1 == 34, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 35 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 35,
# na.rm = TRUE)/ (sum(Grupo1 == 35, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 36 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 36,
# na.rm = TRUE)/ (sum(Grupo1 == 36, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 37 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 37,
# na.rm = TRUE)/ (sum(Grupo1 == 37, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 38 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 38,
# na.rm = TRUE)/ (sum(Grupo1 == 38, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 39 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 39,
# na.rm = TRUE)/ (sum(Grupo1 == 39, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 40 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 40,
# na.rm = TRUE)/ (sum(Grupo1 == 40, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 41 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 41,
# na.rm = TRUE)/ (sum(Grupo1 == 41, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 42 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 42,
# na.rm = TRUE)/ (sum(Grupo1 == 42, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 43 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 43,
# na.rm = TRUE)/ (sum(Grupo1 == 43, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 44 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 44,
# na.rm = TRUE)/ (sum(Grupo1 == 44, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 45 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 45,
# na.rm = TRUE)/ (sum(Grupo1 == 45, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 46 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 46,
# na.rm = TRUE)/ (sum(Grupo1 == 46, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 47 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 47,
# na.rm = TRUE)/ (sum(Grupo1 == 47, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 48 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 48,
# na.rm = TRUE)/ (sum(Grupo1 == 48, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 49 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 49,
# na.rm = TRUE)/ (sum(Grupo1 == 49, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 50 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 50,
# na.rm = TRUE)/ (sum(Grupo1 == 50, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 51 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 51,
# na.rm = TRUE)/ (sum(Grupo1 == 51, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 52 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 52,
# na.rm = TRUE)/ (sum(Grupo1 == 52, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 53 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 53,
# na.rm = TRUE)/ (sum(Grupo1 == 53, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 54 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 54,
# na.rm = TRUE)/ (sum(Grupo1 == 54, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 55 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 55,
# na.rm = TRUE)/ (sum(Grupo1 == 55, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 56 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 56,
# na.rm = TRUE)/ (sum(Grupo1 == 56, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 57 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 57,
# na.rm = TRUE)/ (sum(Grupo1 == 57, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 58 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 58,
# na.rm = TRUE)/ (sum(Grupo1 == 58, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 59 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 59,
# na.rm = TRUE)/ (sum(Grupo1 == 59, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 60 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 60,
# na.rm = TRUE)/ (sum(Grupo1 == 60, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 61 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 61,
# na.rm = TRUE)/ (sum(Grupo1 == 61, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 62 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 62,
# na.rm = TRUE)/ (sum(Grupo1 == 62, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 63 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 63,
# na.rm = TRUE)/ (sum(Grupo1 == 63, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 64 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 64,
# na.rm = TRUE)/ (sum(Grupo1 == 64, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 65 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 65,
# na.rm = TRUE)/ (sum(Grupo1 == 65, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 66 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 66,
# na.rm = TRUE)/ (sum(Grupo1 == 66, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 67 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 67,
# na.rm = TRUE)/ (sum(Grupo1 == 67, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 68 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 68,
# na.rm = TRUE)/ (sum(Grupo1 == 68, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 69 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 69,
# na.rm = TRUE)/ (sum(Grupo1 == 69, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 70 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 70,
# na.rm = TRUE)/ (sum(Grupo1 == 70, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 71 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 71,
# na.rm = TRUE)/ (sum(Grupo1 == 71, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 72 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 72,
# na.rm = TRUE)/ (sum(Grupo1 == 72, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 73 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 73,
# na.rm = TRUE)/ (sum(Grupo1 == 73, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 74 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 74,
# na.rm = TRUE)/ (sum(Grupo1 == 74, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 75 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 75,
# na.rm = TRUE)/ (sum(Grupo1 == 75, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 76 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 76,
# na.rm = TRUE)/ (sum(Grupo1 == 76, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 77 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 77,
# na.rm = TRUE)/ (sum(Grupo1 == 77, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 78 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 78,
# na.rm = TRUE)/ (sum(Grupo1 == 78, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 79 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 79,
# na.rm = TRUE)/ (sum(Grupo1 == 79, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 80 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 80,
# na.rm = TRUE)/ (sum(Grupo1 == 80, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 81 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 81,
# na.rm = TRUE)/ (sum(Grupo1 == 81, na.rm = TRUE))),
# UF >= 11 & UF <= 17 & Grupo1 == 82 ~ (sum(UF >= 11 & UF <= 17 & Grupo1 == 82,
# na.rm = TRUE)/ (sum(Grupo1 == 82, na.rm = TRUE))),
# TRUE ~ 0))
#
# dados_anuais <- dados_anuais |>
# group_by(UF, Grupo1) |>
# mutate(
# MédiaIDNorte = case_when(
# UF >= 11 & UF <= 17 ~ sum(UF >= 11 & UF <= 17 & Grupo1 == Grupo1, na.rm = TRUE) / sum(Grupo1 == Grupo1, na.rm = TRUE),
# TRUE ~ 0
# )
# ) |>
# ungroup()