| 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
varselec <- c("UF","V2005","VD4002","V2010","V2009", "V2007","VD4016", "VD4019", "VD3005","V4040","V40401","V40402", "V40403", "V20082")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) {
dados_PNAD <- get(paste0("PNADC", ano))
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(
V20082 >= 1958 &
V20082 != 9999
)
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
}
dados_PNAD <- get(paste0("dados_PNAD", ano))
dados_PNAD <- dados_PNAD |>
# Criando as colunas de Escolaridade Média Geral e Faixas Etárias
mutate(
EscolariadeMédia_GERAL = mean(as.numeric(VD3005), na.rm = TRUE),
FaixasEtárias = ifelse(V20082 >= 1960 & V20082 <= 1974, 4, ifelse(
V20082 >= 1975 & V20082 <= 1984, 3, ifelse(
V20082 >= 1985 & V20082 <= 1994, 2, ifelse(
V20082 >= 1995 & V20082 <= 2004, 1, NA))))
)|>
# criando colunas de dummies e médias para cada sexo
mutate(
Homem = ifelse(V2007 == 1, 1, 0),
Mulher = ifelse(V2007 == 1, 0, 1),
Média_sexos = ifelse(V2007 == 1, mean(Homem)*100, mean(Mulher)*100),
MédiaHomem = ifelse(V2007 == 1, mean(Homem)*100, 0),
MédiaMulher = ifelse(V2007 == 1, 0, mean(Mulher)*100)
)|>
# 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),
Média_raças = ifelse(V2010 == 1, mean(Branco)*100, mean(ñBranco)*100),
MédiaBranco = ifelse(V2010 == 1, mean(Branco)*100, 0),
Média_ñBranco = ifelse(V2010 == 1, 0, mean(ñBranco)*100)
)
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
}
dados_PNAD <- get(paste0("2dados_PNAD", ano))
dados_PNAD <- dados_PNAD |>
# criando coluna de média real
mutate(
VD4019real = VD4019 * CO1,
RendaMédia_GERAL = mean(VD4019, na.rm = TRUE),
RendaRealMédia_GERAL = mean(VD4019real, na.rm = TRUE),
TempoMédioEmprego_GERAL = mean(V40403, na.rm = TRUE),
#criando variável de domicílio com base nas 3 variáveis abaixo
Domicílio = paste0(UPA, V1008, V1014)
)|>
# 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)
média_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,
mean(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
}
dados_PNAD <- get(paste0("3dados_PNAD", ano))
# Criando ID com ano de nascimento e sexo
dados_PNAD$ID <- apply(dados_PNAD[, c("V20082", "V2007")], 1, paste, collapse = "")
# Médias por ID
dados_PNAD <- dados_PNAD |>
group_by(ID) |>
mutate(
MédiaBranco_ID = mean(Branco, na.rm = TRUE),
MédiaÑbranco_ID = mean(ñBranco, na.rm = TRUE),
MédiaCasados_ID = mean(Casados, na.rm = TRUE),
MédiaÑcasados_ID = mean(ñcasados, na.rm = TRUE),
ComFilho_ID = mean(CasadosComFilhoMenor, na.rm = TRUE),
SemFilho_ID = mean(CasadosSemFilhoMenor, na.rm = TRUE),
MédiaConjuge_ID = mean(Conjuge, na.rm = TRUE),
MédiaChefeFamilia_ID = mean(ChefeFamilia, na.rm = TRUE),
EscolaridadeMédia_ID = mean(VD3005, na.rm = TRUE),
RendaMédia_ID = mean(VD4019, na.rm = TRUE),
RendaMédiaReal_ID = mean(VD4019real, na.rm = TRUE),
TempoMédioEmprego_ID = mean(V40403, na.rm = TRUE)
) |>
ungroup()|>
group_by(
FaixasEtárias
)|>
mutate(
MédiaBranco_FaixaEtária = mean(Branco, na.rm = TRUE),
MédiaÑbranco_FaixaEtária = mean(ñBranco, na.rm = TRUE),
MédiaCasados_FaixaEtária = mean(Casados, na.rm = TRUE),
MédiaÑcasados_FaixaEtária = mean(ñcasados, na.rm = TRUE),
ComFilho_FaixaEtária = mean(CasadosComFilhoMenor, na.rm = TRUE),
SemFilho_FaixaEtária = mean(CasadosSemFilhoMenor, na.rm = TRUE),
MédiaConjuge_FaixaEtária = mean(Conjuge, na.rm = TRUE),
MédiaChefeFamilia_FaixaEtária = mean(ChefeFamilia, na.rm = TRUE),
EscolaridadeMédia_FaixaEtária = mean(VD3005, na.rm = TRUE),
RendaMédia_FaixaEtária = mean(VD4019, na.rm = TRUE),
RendaMédiaReal_FaixaEtária = mean(VD4019real, na.rm = TRUE),
TempoMédioEmprego_FaixaEtária = mean(V40403, na.rm = TRUE)
)|>
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.
dados_lista <- list()
for (ano in 2012:2023) {
if (ano == 2020 || ano == 2021){
next
}
dados_PNAD <- get(paste0("4dados_PNAD", ano))
# Filtrando dados pela condição de ocupação, nascimento e renda
dados_PNAD <- dados_PNAD |>
filter(
VD4002 == 1 &
V20082 <= 2003 &
VD4019 <= 100000
)
# Adicionando os dados filtrados na lista
dados_lista[[paste0("dadosfiltrados", ano)]] <- dados_PNAD
}
# Salvando os dados dos anos em um único objeto
dados_anuais <- bind_rows(dados_lista)
#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
qtd_obs <- nrow(dados_anuais)
#quantidade de observações por ano
qtd_obsANO <- dados_anuais |>
select(
Ano
)|>
group_by(
Ano
)|>
summarise(
qtd_obs = n(), .groups = 'drop'
)# quantidades e porcentagem por sexo
dados_sexos <- dados_anuais |>
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_homens <- dados_sexos |>
filter(
sexo == 'Homens'
) |>
select(
-V2007
)
qtd_homens <- dados_homens |>
select(
-porcentagem, -sexo
)|>
rename(
qtd_homens = quantidade
)
dados_mulheres <- dados_sexos |>
filter(
sexo == 'Mulheres'
)|>
select(
-V2007
)
qtd_mulheres <- dados_mulheres |>
select(
-porcentagem, -sexo
)|>
rename(
qtd_mulheres = quantidade
)# quantidade e porcentagem por estado conjugal
dados_estadocivil <- dados_anuais |>
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()
casados <- dados_estadocivil|>
filter(
EstadoCivil == "Casados"
)|>
select(
-Casados
)
qtd_casados <- casados |>
select(
-porcentagem, -EstadoCivil
)|>
rename(
qtd_casados = quantidade
)
ñcasados <- dados_estadocivil|>
filter(
EstadoCivil == "Ñcasados"
)|>
select(
-Casados
)
qtd_ñcasados <- ñcasados |>
select(
-porcentagem, -EstadoCivil
)|>
rename(
qtd_ñcasados = quantidade
)# quantidade e porcentagem de brancos e ñbrancos
dados_raças <- dados_anuais |>
group_by(
Ano, Branco
) |>
summarise(
quantidade = n(), .groups = 'drop'
) |>
group_by(
Ano
) |>
mutate(
porcentagem = (quantidade/sum(quantidade))*100,
Raça = ifelse(Branco==1,"Branco", "Ñbranco")
) |>
ungroup()
brancos <- dados_raças|>
filter(
Raça == "Branco"
) |>
select(
-Branco,
)
qtd_brancos <- brancos |>
filter(
Raça == "Branco"
) |>
select(
-Raça, -porcentagem
) |>
rename(
qtd_brancos = quantidade
)
ñbrancos <- dados_raças|>
filter(
Raça == "Ñbranco"
)|>
select(
-Branco
)
qtd_ñbrancos <- ñbrancos |>
filter(
Raça == "Ñbranco"
) |>
select(
-Raça, -porcentagem
)|>
rename(
qtd_ñbrancos = quantidade
)# quantidade e porcentagem de chefes de familia
qtd_chefeFamilia <- dados_anuais|>
filter(
ChefeFamilia == 1
) |>
group_by(
Ano
)|>
summarise(
qtd_ChefesFamilia = n(), .groups = 'drop'
)
# quantidade e porcentagem de conjuges
qtd_conjuges <- dados_anuais|>
filter(
Conjuge == 1
)|>
group_by(
Ano
)|>
summarise(
qtd_conjuges = n(), .groups = 'drop'
)
# quantidade e porcentagem de filhos menores de 10 anos
qtd_filhosmenores <- dados_anuais |>
filter(
Filhos_menores == 1
) |>
group_by(
Ano
) |>
summarise(
qtd_filhosmenores = n(), .groups = 'drop'
) # quantidade e porcentagens de pessoas a dependar da escolaridade
qtd_escolaridade <- dados_anuais |>
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
dfs_dadosgerais <- list(qtd_obsANO, qtd_homens, qtd_mulheres, qtd_casados,
qtd_ñcasados, qtd_brancos, qtd_ñbrancos,
qtd_chefeFamilia, qtd_conjuges)
tabela_dadosgerais <- Reduce(function(x, y) full_join(x, y, by = "Ano"), dfs_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
rendareal <- dados_anuais |>
select(
Ano, VD4019real
) |>
group_by(
Ano
) |>
summarise(
SomaRendaReal = sum(VD4019real, na.rm = TRUE), .groups = 'drop'
)
# renda real média por ano
RendaReal_Média_Ano <- dados_anuais |>
select(
Ano, VD4019real
) |>
group_by(
Ano
) |>
summarise(
RendaReal_MédiaAno = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
)
#mediana da renda real por ano
mediana_rendareal <- dados_anuais |>
select(
Ano, VD4019real
) |>
group_by(
Ano
) |>
summarise(
mediana = median(VD4019real, na.rm = TRUE)
)#renda média real dos homens
RendaReal_Média_Homens <- dados_anuais |>
select(
Ano, V2007, VD4019real
) |>
filter(
V2007 == 1
) |>
group_by(
Ano
) |>
summarise(
RendaMédia_Homens = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
)
#renda média real das mulheres
RendaReal_Média_Mulheres <- dados_anuais |>
select(
Ano, V2007, VD4019real
) |>
filter(
V2007 == 2
) |>
group_by(
Ano
) |>
summarise(
RendaMédia_Mulheres = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
)
# renda real média anual por sexo
RendaRealMédia_sexos <- dados_anuais |>
select(
Ano, V2007, VD4019real
) |>
group_by(
Ano,
Sexo = case_when(
V2007 == 1 ~ "Homens",
V2007 == 2 ~ "Mulheres"
)) |>
summarise(RendaMédia_sexos = mean(VD4019real, na.rm = TRUE), .groups = 'drop')#renda real média por id
RendaReal_Média_ID <- dados_anuais |>
select(
Ano, ID, VD4019real
) |>
group_by(
Ano, ID
) |>
summarise(
RendaMédiaReal_ID = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
)# renda real média branco por ano
RendaReal_Média_Brancos <- dados_anuais |>
select(
Ano, V2010, VD4019real
) |>
filter(
V2010 == 1
) |>
group_by(
Ano
) |>
summarise(
RendaMédia_Brancos = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
)
# renda real média não branco por ano
RendaReal_Média_ñBrancos <- dados_anuais |>
select(
Ano, V2010, VD4019real
) |>
filter(
V2010 != 1
) |>
group_by(
Ano
) |>
summarise(
RendaMédia_ñBrancos = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
)# renda real média anual por estado conjugal
RendaRealMédia_conjugal <- dados_anuais |>
select(
Ano, Casados, CasadosComFilhoMenor, VD4019real
) |>
group_by(
Ano,
Estado.Civil = case_when(
Casados == 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
)) |>
summarise(RendaMédia_conjugal = mean(VD4019real, na.rm = TRUE), .groups = 'drop')# renda real média anual chefe de familia
RendaReal_Média_chefe <- dados_anuais |>
select(
Ano, ChefeFamilia, VD4019real
) |>
filter(
ChefeFamilia == 1
) |>
group_by(
Ano
) |>
summarise(
RendaMédia_Chefe = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
)# renda real média real por idade
RendaReal_Média_idade <- dados_anuais |>
select(
Ano, V2009, VD4019real
) |>
group_by(
Ano, V2009
) |>
summarise(
RendaMédia_idade = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
)# renda real média anual por regiões
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)
centro_oeste <- c(50,51,52,53)
regiões <- c(norte, nordeste, sudeste, sul, centro_oeste)
# renda real média anual por estados do norte
RendaReal_Média_UFnorte <- dados_anuais |>
select(
Ano, UF, VD4019real
) |>
group_by(
Ano, UF
)|>
summarise(
RendaMédia_UFnorte = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
)|>
filter(
UF == norte
)
# renda real média anual por estados do nordeste
RendaReal_Média_UFnordeste <- dados_anuais |>
select(
Ano, UF, VD4019real
) |>
group_by(
Ano, UF
)|>
summarise(
RendaMédia_UFnordeste = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
)|>
filter(
UF == nordeste
)
# renda real média anual por estados do sudeste
RendaReal_Média_UFsudeste <- dados_anuais |>
select(
Ano, UF, VD4019real
) |>
group_by(
Ano, UF
)|>
summarise(
RendaMédia_UFsudeste = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
)|>
filter(
UF == sudeste
)
# renda real média anual por estados do sul
RendaReal_Média_UFsul <- dados_anuais |>
select(
Ano, UF, VD4019real
) |>
group_by(
Ano, UF
)|>
summarise(
RendaMédia_UFsul = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
)|>
filter(
UF == sul
)
# renda real média anual por estados do centro oeste
RendaReal_Média_UFcentro.oeste <- dados_anuais |>
select(
Ano, UF, VD4019real
) |>
group_by(
Ano, UF
)|>
summarise(
RendaMédia_UFcentro.oeste = mean(VD4019real, na.rm = TRUE), .groups = 'drop'
)|>
filter(
UF == norte
)
# Definir as regiões e seus respectivos estados
regioes <- list(
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
rendaReal_media_UF <- dados_anuais |>
select(
Ano, UF, VD4019real
) |>
filter(
UF %in% unlist(regioes)
) |>
group_by(
Ano, UF
) |>
summarise(
RendaMédia = mean(VD4019real, na.rm = TRUE), .groups = 'drop') |>
mutate(
Região = case_when(
UF %in% regioes$Norte ~ "Norte",
UF %in% regioes$Nordeste ~ "Nordeste",
UF %in% regioes$Sudeste ~ "Sudeste",
UF %in% regioes$Sul ~ "Sul",
UF %in% regioes$CentroOeste ~ "CentroOeste"
))# 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
dfs <- list(RendaReal_Média_Ano, mediana_rendareal,
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
tabela_rendareal <- Reduce(function(x, y) full_join(x, y, by = "Ano"), dfs)
# 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
tabelalong_dadosgerais <- tabela_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
tabelalong_rendareal <- tabela_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(
ID == 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,
TRUE ~ 0),
Grupo2 = case_when(
ID >= 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,
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()