# Nome: Raphael Bertanha, NUSP: 4919798
rm(list = ls())
install.packages("PNADcIBGE", repos = "http://cran.us.r-project.org")
## Installing package into 'D:/Users/thomas.daher/AppData/Local/R/win-library/4.2'
## (as 'lib' is unspecified)
## package 'PNADcIBGE' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## D:\Users\thomas.daher\AppData\Local\Temp\3\Rtmp6lC4AD\downloaded_packages
library(PNADcIBGE)
library(tidyverse)
## -- Attaching core tidyverse packages ------------------------ tidyverse 2.0.0 --
## v dplyr 1.1.2 v readr 2.1.4
## v forcats 1.0.0 v stringr 1.5.0
## v ggplot2 3.4.4 v tibble 3.2.1
## v lubridate 1.9.3 v tidyr 1.3.0
## v purrr 1.0.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
## i Use the ]8;;http://conflicted.r-lib.org/conflicted package]8;; to force all conflicts to become errors
variables<- c("Ano" , "Trimestre", "UF","V1022", "V1023", "V1032",
"V2007", "V2008", "V20081", "V20082", "V2009", "V2010", "V3001",
"V3002", "V4009", "V4018", "V40181", "V40182", "V40183", "V4029",
"V4032", "V4040", "V40401", "V40402", "V40403", "V4071", "V5001A",
"V5001A2","V5002A","V5002A2","V5003A","V5003A2", "V5004A","V5004A2",
"V5005A", "V5005A2","V5006A","V5006A2","V5007A","V5007A2","V5008A",
"V5008A2",
"VD2002","VD2003",
"VD2004","VD3004","VD3005","VD4001","VD4002","VD4003","VD4009",
"VD4010", "VD4011","VD4012","VD4020","VD4035")
pnadcvis1 <- get_pnadc(2015,
interview = 1,
deflator = TRUE,
labels = TRUE,
vars=variables,
design=FALSE)
## Deflator year was not provided, so deflator year was set to 2022.
pnadc <- pnadcvis1 %>% select(all_of(variables))
rm(pnadcvis1, variables)
save(pnadc,file = "base.RData")
rm(list = ls())
# Acessando a base que foi salva
load("base.RData")
# Consultando detalhes sobre a base e variaveis que ela possui
class(pnadc)
## [1] "tbl_df" "tbl" "data.frame"
str(pnadc)
## tibble [459,273 x 56] (S3: tbl_df/tbl/data.frame)
## $ Ano : chr [1:459273] "2015" "2015" "2015" "2015" ...
## $ Trimestre: chr [1:459273] "2" "2" "2" "2" ...
## $ UF : Factor w/ 27 levels "Rondônia","Acre",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ V1022 : Factor w/ 2 levels "Urbana","Rural": 1 1 1 1 1 1 1 1 1 1 ...
## $ V1023 : Factor w/ 4 levels "Capital","Resto da RM (Região Metropolitana, excluindo a capital)",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ V1032 : num [1:459273] 157 157 149 149 168 ...
## $ V2007 : Factor w/ 2 levels "Masculino","Feminino": 2 1 2 1 2 1 2 1 1 2 ...
## $ V2008 : chr [1:459273] "25" "99" "99" "14" ...
## $ V20081 : chr [1:459273] "07" "99" "99" "09" ...
## $ V20082 : chr [1:459273] "1976" "9999" "9999" "1997" ...
## $ V2009 : num [1:459273] 38 24 22 17 27 28 58 34 41 33 ...
## $ V2010 : Factor w/ 6 levels "Branca","Preta",..: 4 4 1 4 4 4 4 4 4 4 ...
## $ V3001 : Factor w/ 2 levels "Sim","Não": 1 1 1 1 1 1 2 1 1 1 ...
## $ V3002 : Factor w/ 2 levels "Sim","Não": 2 2 2 1 2 2 2 2 2 2 ...
## $ V4009 : Factor w/ 3 levels "Um","Dois","Três ou mais": 1 1 1 NA NA 1 NA 1 1 NA ...
## $ V4018 : Factor w/ 4 levels "1 a 5 pessoas",..: 1 1 1 NA NA 1 NA 1 3 NA ...
## $ V40181 : chr [1:459273] "1" "2" "3" NA ...
## $ V40182 : chr [1:459273] NA NA NA NA ...
## $ V40183 : chr [1:459273] NA NA NA NA ...
## $ V4029 : Factor w/ 2 levels "Sim","Não": NA 2 1 NA NA NA NA NA 1 NA ...
## $ V4032 : Factor w/ 2 levels "Sim","Não": 2 2 NA NA NA 2 NA 2 NA NA ...
## $ V4040 : Factor w/ 4 levels "Menos de 1 mês",..: 4 3 2 NA NA 3 NA 4 4 NA ...
## $ V40401 : num [1:459273] NA NA 3 NA NA NA NA NA NA NA ...
## $ V40402 : num [1:459273] NA 0 NA NA NA 0 NA NA NA NA ...
## $ V40403 : num [1:459273] 2 NA NA NA NA NA NA 2 2 NA ...
## $ V4071 : Factor w/ 2 levels "Sim","Não": NA NA NA 2 2 NA 2 NA NA 2 ...
## $ V5001A : Factor w/ 2 levels "Sim","Não": NA NA NA NA NA NA NA NA NA NA ...
## $ V5001A2 : num [1:459273] NA NA NA NA NA NA NA NA NA NA ...
## $ V5002A : Factor w/ 2 levels "Sim","Não": NA NA NA NA NA NA NA NA NA NA ...
## $ V5002A2 : num [1:459273] NA NA NA NA NA NA NA NA NA NA ...
## $ V5003A : Factor w/ 2 levels "Sim","Não": NA NA NA NA NA NA NA NA NA NA ...
## $ V5003A2 : num [1:459273] NA NA NA NA NA NA NA NA NA NA ...
## $ V5004A : Factor w/ 2 levels "Sim","Não": NA NA NA NA NA NA NA NA NA NA ...
## $ V5004A2 : num [1:459273] NA NA NA NA NA NA NA NA NA NA ...
## $ V5005A : Factor w/ 2 levels "Sim","Não": NA NA NA NA NA NA NA NA NA NA ...
## $ V5005A2 : num [1:459273] NA NA NA NA NA NA NA NA NA NA ...
## $ V5006A : Factor w/ 2 levels "Sim","Não": NA NA NA NA NA NA NA NA NA NA ...
## $ V5006A2 : num [1:459273] NA NA NA NA NA NA NA NA NA NA ...
## $ V5007A : Factor w/ 2 levels "Sim","Não": NA NA NA NA NA NA NA NA NA NA ...
## $ V5007A2 : num [1:459273] NA NA NA NA NA NA NA NA NA NA ...
## $ V5008A : Factor w/ 2 levels "Sim","Não": NA NA NA NA NA NA NA NA NA NA ...
## $ V5008A2 : num [1:459273] NA NA NA NA NA NA NA NA NA NA ...
## $ VD2002 : Factor w/ 17 levels "Pessoa responsável",..: 1 3 1 10 1 2 1 3 1 2 ...
## $ VD2003 : num [1:459273] 2 2 2 2 2 2 2 2 6 6 ...
## $ VD2004 : Factor w/ 4 levels "Unipessoal","Nuclear",..: 2 2 3 3 2 2 2 2 3 3 ...
## $ VD3004 : Factor w/ 7 levels "Sem instrução e menos de 1 ano de estudo",..: 5 5 2 2 5 5 1 2 2 5 ...
## $ VD3005 : Factor w/ 17 levels "Sem instrução e menos de 1 ano de estudo",..: 13 13 9 6 13 13 1 2 5 13 ...
## $ VD4001 : Factor w/ 2 levels "Pessoas na força de trabalho",..: 1 1 1 2 2 1 2 1 1 2 ...
## $ VD4002 : Factor w/ 2 levels "Pessoas ocupadas",..: 1 1 1 NA NA 1 NA 1 1 NA ...
## $ VD4003 : Factor w/ 2 levels "Pessoas fora da força de trabalho e na força de trabalho potencial",..: NA NA NA 2 1 NA 2 NA NA 2 ...
## $ VD4009 : Factor w/ 10 levels "Empregado no setor privado com carteira de trabalho assinada",..: 9 2 1 NA NA 9 NA 9 1 NA ...
## $ VD4010 : Factor w/ 12 levels "Agricultura, pecuária, produção florestal, pesca e aquicultura",..: 4 10 6 NA NA 8 NA 3 5 NA ...
## $ VD4011 : Factor w/ 11 levels "Diretores e gerentes",..: 5 5 9 NA NA 7 NA 7 8 NA ...
## $ VD4012 : Factor w/ 2 levels "Contribuinte",..: 2 2 1 NA NA 2 NA 2 1 NA ...
## $ VD4020 : num [1:459273] 1000 740 740 NA NA 1500 NA 1500 1500 NA ...
## $ VD4035 : num [1:459273] 44 44 44 NA NA 40 NA 44 44 NA ...
glimpse(pnadc)
## Rows: 459,273
## Columns: 56
## $ Ano <chr> "2015", "2015", "2015", "2015", "2015", "2015", "2015", "201~
## $ Trimestre <chr> "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "2", ~
## $ UF <fct> Rondônia, Rondônia, Rondônia, Rondônia, Rondônia, Rondônia, ~
## $ V1022 <fct> Urbana, Urbana, Urbana, Urbana, Urbana, Urbana, Urbana, Urba~
## $ V1023 <fct> "Capital", "Capital", "Capital", "Capital", "Capital", "Capi~
## $ V1032 <dbl> 157.0057, 157.0057, 148.8620, 148.8620, 168.3272, 168.3272, ~
## $ V2007 <fct> Feminino, Masculino, Feminino, Masculino, Feminino, Masculin~
## $ V2008 <chr> "25", "99", "99", "14", "31", "22", "05", "29", "17", "08", ~
## $ V20081 <chr> "07", "99", "99", "09", "01", "02", "11", "10", "04", "09", ~
## $ V20082 <chr> "1976", "9999", "9999", "1997", "1988", "1987", "1956", "198~
## $ V2009 <dbl> 38, 24, 22, 17, 27, 28, 58, 34, 41, 33, 16, 14, 2, 18, 44, 8~
## $ V2010 <fct> Parda, Parda, Branca, Parda, Parda, Parda, Parda, Parda, Par~
## $ V3001 <fct> Sim, Sim, Sim, Sim, Sim, Sim, Não, Sim, Sim, Sim, Sim, Sim, ~
## $ V3002 <fct> Não, Não, Não, Sim, Não, Não, Não, Não, Não, Não, Sim, Sim, ~
## $ V4009 <fct> Um, Um, Um, NA, NA, Um, NA, Um, Um, NA, NA, NA, NA, Um, Um, ~
## $ V4018 <fct> 1 a 5 pessoas, 1 a 5 pessoas, 1 a 5 pessoas, NA, NA, 1 a 5 p~
## $ V40181 <chr> "1", "2", "3", NA, NA, "1", NA, "1", NA, NA, NA, NA, NA, "2"~
## $ V40182 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ V40183 <chr> NA, NA, NA, NA, NA, NA, NA, NA, "20", NA, NA, NA, NA, NA, NA~
## $ V4029 <fct> NA, Não, Sim, NA, NA, NA, NA, NA, Sim, NA, NA, NA, NA, NA, S~
## $ V4032 <fct> Não, Não, NA, NA, NA, Não, NA, Não, NA, NA, NA, NA, NA, Não,~
## $ V4040 <fct> 2 anos ou mais, De 1 ano a menos de 2 anos, De 1 mês a menos~
## $ V40401 <dbl> NA, NA, 3, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N~
## $ V40402 <dbl> NA, 0, NA, NA, NA, 0, NA, NA, NA, NA, NA, NA, NA, 0, NA, NA,~
## $ V40403 <dbl> 2, NA, NA, NA, NA, NA, NA, 2, 2, NA, NA, NA, NA, NA, 2, NA, ~
## $ V4071 <fct> NA, NA, NA, Não, Não, NA, Não, NA, NA, Não, Não, Não, NA, NA~
## $ V5001A <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ V5001A2 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ V5002A <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ V5002A2 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ V5003A <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ V5003A2 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ V5004A <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ V5004A2 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ V5005A <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ V5005A2 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ V5006A <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ V5006A2 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ V5007A <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ V5007A2 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ V5008A <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ V5008A2 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ~
## $ VD2002 <fct> "Pessoa responsável", "Filho(a)", "Pessoa responsável", "Irm~
## $ VD2003 <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 6, 6, 6, 6, 6, 6, 2, 2, 3, 3, 3, 3, ~
## $ VD2004 <fct> Nuclear, Nuclear, Estendida, Estendida, Nuclear, Nuclear, Nu~
## $ VD3004 <fct> Médio completo ou equivalente, Médio completo ou equivalente~
## $ VD3005 <fct> 12 anos de estudo, 12 anos de estudo, 8 anos de estudo, 5 an~
## $ VD4001 <fct> Pessoas na força de trabalho, Pessoas na força de trabalho, ~
## $ VD4002 <fct> Pessoas ocupadas, Pessoas ocupadas, Pessoas ocupadas, NA, NA~
## $ VD4003 <fct> NA, NA, NA, Pessoas fora da força de trabalho e fora da forç~
## $ VD4009 <fct> Conta-própria, Empregado no setor privado sem carteira de tr~
## $ VD4010 <fct> "Comércio, reparação de veículos automotores e motocicletas"~
## $ VD4011 <fct> "Trabalhadores dos serviços, vendedores dos comércios e merc~
## $ VD4012 <fct> Não contribuinte, Não contribuinte, Contribuinte, NA, NA, Nã~
## $ VD4020 <dbl> 1000, 740, 740, NA, NA, 1500, NA, 1500, 1500, NA, NA, NA, NA~
## $ VD4035 <dbl> 44, 44, 44, NA, NA, 40, NA, 44, 44, NA, NA, NA, NA, 18, 44, ~
# foram retiradas as colunas referentes a características do domicilio por erro de filtragem
# regredindo primeiro somente as variaveis principais propostas no trabalho
# primeiro precisamos criar as macro_regiões a partir dos UFS
# Vetor com todas as UFs do Brasil
ufs_brasil <- c(
"Acre", "Alagoas", "Amapá", "Amazonas", "Bahia", "Ceará", "Distrito Federal",
"Espírito Santo", "Goiás", "Maranhão", "Mato Grosso", "Mato Grosso do Sul",
"Minas Gerais", "Pará", "Paraíba", "Paraná", "Pernambuco", "Piauí", "Rio de Janeiro",
"Rio Grande do Norte", "Rio Grande do Sul", "Rondônia", "Roraima", "Santa Catarina",
"São Paulo", "Sergipe", "Tocantins"
)
# Tabela de correspondência entre UF e macroregião
correspondencia_macroregiao <- data.frame(
UF = ufs_brasil,
Macroregiao = c("Norte", "Nordeste", "Norte", "Norte", "Nordeste", "Nordeste", "Centro-Oeste",
"Sudeste", "Centro-Oeste", "Nordeste", "Centro-Oeste", "Centro-Oeste", "Sudeste",
"Norte", "Nordeste", "Sul", "Nordeste", "Sudeste", "Norte", "Nordeste", "Sul",
"Norte", "Norte", "Sul", "Nordeste", "Nordeste", "Centro-Oeste")
)
## Seleção de dados e ajuste de nulos
dset <- pnadc %>% select(VD4020,VD3005,UF)
na_counts <- colSums(is.na(dset))
cbind(Column = names(na_counts), NA_Count = na_counts)
## Column NA_Count
## VD4020 "VD4020" "267767"
## VD3005 "VD3005" "30767"
## UF "UF" "0"
dset <- dset %>% filter(!is.na(VD4020))
na_counts <- colSums(is.na(dset))
cbind(Column = names(na_counts), NA_Count = na_counts)
## Column NA_Count
## VD4020 "VD4020" "0"
## VD3005 "VD3005" "0"
## UF "UF" "0"
## estudo
ajuste_educ <- c(
"Sem instrução e menos de 1 ano de estudo" = 0,
"1 ano de estudo" = 1,
"2 anos de estudo" = 2,
"3 anos de estudo" = 3,
"4 anos de estudo" = 4,
"5 anos de estudo" = 5,
"6 anos de estudo" = 6,
"7 anos de estudo" = 7,
"8 anos de estudo" = 8,
"9 anos de estudo" = 9,
"10 anos de estudo" = 10,
"11 anos de estudo" = 11,
"12 anos de estudo" = 12,
"13 anos de estudo" = 13,
"14 anos de estudo" = 14,
"15 anos de estudo" = 15,
"16 anos de estudo" = 16
)
dset <- dset %>%
mutate(anos_estudados = ajuste_educ[VD3005])
# macro regiões
dset <- dset %>%
left_join(correspondencia_macroregiao %>% select(UF, Macroregiao), by = "UF")
dset <- dset %>%
rename(renda = VD4020)
## OLS
formula <- "renda ~ 0 + anos_estudados + Macroregiao"
ols <- lm(formula = formula, data = dset)
summary(ols)
##
## Call:
## lm(formula = formula, data = dset)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3081 -1057 -408 346 148115
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## anos_estudados 177.032 1.218 145.389 < 2e-16 ***
## MacroregiaoCentro-Oeste 248.484 19.625 12.661 < 2e-16 ***
## MacroregiaoNordeste -239.774 14.304 -16.763 < 2e-16 ***
## MacroregiaoNorte -66.271 17.406 -3.807 0.000141 ***
## MacroregiaoSudeste -76.699 18.428 -4.162 3.15e-05 ***
## MacroregiaoSul 173.398 17.685 9.805 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2364 on 191500 degrees of freedom
## Multiple R-squared: 0.3813, Adjusted R-squared: 0.3813
## F-statistic: 1.967e+04 on 6 and 191500 DF, p-value: < 2.2e-16
print("Os resultados ocorreram de acordo com a literatura, anos de estudo aumentam salário e ser homem também, devemos agora investigar outras varíaveis que podem também explicar salário")
## [1] "Os resultados ocorreram de acordo com a literatura, anos de estudo aumentam salário e ser homem também, devemos agora investigar outras varíaveis que podem também explicar salário"
## Ols completa
dset <- pnadc %>% select(VD4020,VD3005,UF, V1022, V1023, V2007)
dset <- dset %>% filter(!is.na(VD4020))
na_counts <- colSums(is.na(dset))
cbind(Column = names(na_counts), NA_Count = na_counts)
## Column NA_Count
## VD4020 "VD4020" "0"
## VD3005 "VD3005" "0"
## UF "UF" "0"
## V1022 "V1022" "0"
## V1023 "V1023" "0"
## V2007 "V2007" "0"
#controles escolhidos
#V1022 - urbano ou rural
dset <- dset %>% mutate(urbana_ou_rural = ifelse(V1022 == "Urbana", 1, 0))
#V1023 - se é capital
dset <- dset %>% mutate(se_capital = ifelse(V1023 == "Capital", 1, 0))
#V2007 - Sexo
dset <- dset %>% mutate(sexo = ifelse(V2007 == "Masculino", 1, 0))
## educação
dset <- dset %>%
mutate(anos_estudados = ajuste_educ[VD3005])
## Macroregiao
dset <- dset %>%
left_join(correspondencia_macroregiao %>% select(UF, Macroregiao), by = "UF")
## Rename
dset <- dset %>%
rename(renda = VD4020)
# OLS completa
formula <- "renda ~ 0 + urbana_ou_rural + se_capital + sexo + anos_estudados + Macroregiao"
ols <- lm(formula = formula, data = dset)
summary(ols)
##
## Call:
## lm(formula = formula, data = dset)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3813 -995 -378 366 148051
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## urbana_ou_rural 145.526 13.836 10.52 <2e-16 ***
## se_capital 538.415 13.185 40.84 <2e-16 ***
## sexo 743.541 11.111 66.92 <2e-16 ***
## anos_estudados 177.461 1.303 136.25 <2e-16 ***
## MacroregiaoCentro-Oeste -521.741 22.660 -23.02 <2e-16 ***
## MacroregiaoNordeste -923.604 17.934 -51.50 <2e-16 ***
## MacroregiaoNorte -859.949 20.853 -41.24 <2e-16 ***
## MacroregiaoSudeste -725.942 21.408 -33.91 <2e-16 ***
## MacroregiaoSul -453.927 20.950 -21.67 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2326 on 191497 degrees of freedom
## Multiple R-squared: 0.4011, Adjusted R-squared: 0.4011
## F-statistic: 1.425e+04 on 9 and 191497 DF, p-value: < 2.2e-16