Como pesquisadores uma fonte de informação rica e muito importante para a academia são as bases de dados do Instituto Brasileiro de Geografia e Estatística (IBGE).
A leitura das principais bases de dados nacionais pode ser realizada por meio do pacote microdadosBrasil.
O primeiro passo é a instalação do pacote no R, fazemos isso da seguinte forma:
#Habilita o pacote devtools library(devtools) #Instala o pacote microdadosBrasil devtools::install_github("lucasmation/microdadosBrasil") #Habilita o pacote microdadosBrasil library(microdadosBrasil)
Nesse post, trataremos da Pesquisa Nacional por Amostra de Domicílios (PNAD) como exemplo, para baixar e ler a PNAD precisamos dos seguintes comandos:
#Fazemos somente uma vez caso os dados não existam localmente download_sourceData("PNAD", 2015, root_path = "C:\\Dados") #Lê os dados da PNAD pnad <- read_PNAD("pessoas", 2015, root_path = "C:\\Dados") #Salva a PNAD lida save.image("C:\\Dados\\pnad.RData")No bloco anterior os microdados, dicionários, arquivos de leitura da PNAD são armazenados na pasta definida pelo usuário (nesse exemplo C:\Dados). Em seguida esses dados são lidos pela função read_PNAD e então salva a imagem no arquivo pnad.RData. No código anterior definimos ainda que desejamos os dados da base de pessoas, para o ano de 2015. Maiores informações sobre os tipos de bases e pesquisas disponíveis os interessados podem consultar o repositório do microdadosBrasil. Uma vez salva a imagem, a leitura fica muito mais rápida no R e podemos chamar os dados por meio da função load:
#Chama os dados da pnad salvos no RData load("C:\\Dados\\pnad.RData")Como exemplo vamos calcular a renda média das pessoas na PNAD 2015. A variável rendimento de interesse é dada pela variável V9532 e a variável de peso (expansão amostral) é dada por V4729. O cômputo do rendimento médio é dado por?
#Chama a biblioteca dplyr library(dplyr) #Exemplo Média do Rendimento pnad %>% group_by(UF) %>% filter(V9532<999999999)%>% summarise(weighted.mean(V9532 , w = V4729, na.rm = TRUE) ) -> agg.dfNo bloco anterior salvamos no data.frame agg.df a renda média das pessoas por Unidade da Federação (UF) removendo-se os valores missing informados pelo IBGE como V9532>999999999. Outra estatística muito comum é o cálculo de proporções. Podemos calcular a proporção por cor nas Unidades da Federação (UF) como:
#Calcula a proporção pnad %>% group_by(UF, V0404) %>% summarise (n.cor = sum(V4729))%>% group_by(UF) %>% mutate (n = sum(n.cor)) %>% mutate(freq = n.cor/n) %>% mutate(freq2 = paste0(round(freq,6)*100,"%")) -> cor.df #Define os labels dos factors cor.df[,"Cor"] = factor(cor.df$V0404, levels=c(2,4,6,8,0,9), labels=c("Branca","Preta","Amarela", "Parda","Indígena","Sem declaração"), ordered=FALSE)Nesse exemplo, salvamos no objeto cor.df essas proporções e também definimos os labels das variáveis qualitativas. Na última parte desse exemplo, podemos estar interessados no cômputo do Índice de Gini por Unidade da Federação:
#Exemplo Gini library(reldist) pnad %>% group_by(UF) %>% filter(V9532<999999999)%>% summarise(gini.idx=gini(V9532,V4729))Onde o pacote reldist apresenta a função gini que calcula o Índice de Gini ponderado pelo peso amostral.
Nenhum comentário:
Postar um comentário