{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "![](https://github.com/bigdata-icict/ETL-Dataiku-DSS/raw/master/tutoriais/pcdas_1.5.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Notebook para criação de tabela de indicadores da PNS - módulo P 2019 Consumo de Álcool" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Bibliotecas Utilizadas" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "#Lendo pacotes necessários\n", "library(survey)\n", "library(ggplot2)\n", "library(dplyr)\n", "library(foreign)\n", "library(forcats)\n", "library(tidyverse)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Carregando microdados da PNS" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "#Carregando banco de dados para R versão 3.5.0 ou superior\n", "load(\"\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Definição do peso e filtragem de respondentes do questionario" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ " Min. 1st Qu. Median Mean 3rd Qu. Max. \n", " 0.00582 0.27579 0.56358 1.03597 1.16822 63.29775 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Selecionando registros válidos para o módulo P e calculando peso amostral - summary de verificação\n", "pns2019.1<-pns2019v3 %>% filter(V0025A==1)\n", "pns2019.1<-pns2019.1 %>% mutate(peso_morador_selec=((V00291*(94114/168426190))))\n", "pns2019.1<-pns2019.1 %>% filter(!is.na(peso_morador_selec))\n", "summary(pns2019.1$peso_morador_selec)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Criação de variáveis dos indicadores" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Sim
21106
Nao
69740
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Sim] 21106\n", "\\item[Nao] 69740\n", "\\end{description*}\n" ], "text/markdown": [ "Sim\n", ": 21106Nao\n", ": 69740\n", "\n" ], "text/plain": [ " Sim Nao \n", "21106 69740 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Sim
2078
Nao
88768
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Sim] 2078\n", "\\item[Nao] 88768\n", "\\end{description*}\n" ], "text/markdown": [ "Sim\n", ": 2078Nao\n", ": 88768\n", "\n" ], "text/plain": [ " Sim Nao \n", " 2078 88768 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Sim
15032
Nao
75814
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Sim] 15032\n", "\\item[Nao] 75814\n", "\\end{description*}\n" ], "text/markdown": [ "Sim\n", ": 15032Nao\n", ": 75814\n", "\n" ], "text/plain": [ " Sim Nao \n", "15032 75814 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Sim
4045
Nao
86801
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Sim] 4045\n", "\\item[Nao] 86801\n", "\\end{description*}\n" ], "text/markdown": [ "Sim\n", ": 4045Nao\n", ": 86801\n", "\n" ], "text/plain": [ " Sim Nao \n", " 4045 86801 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Desfechos - Indicadores\n", "\n", "#P010P - Consumo de bebida alcoólica uma vez ou mais por semana\n", "pns2019.1$P02801[which(is.na(pns2019.1$P02801))] <- 0\n", "pns2019.1 <- pns2019.1 %>% filter(P02801!=9) %>% mutate(P010P = ifelse(P02801>=1, 1,2))\n", "pns2019.1$P010P<-factor(pns2019.1$P010P, levels=c(1,2), labels=c(\"Sim\",\"Nao\"))\n", "summary(pns2019.1$P010P)\n", "\n", "#P011P - Consumo regular de bebida alcoólica\n", "pns2019.1$P02801[which(is.na(pns2019.1$P02801))] <- 0\n", "pns2019.1 <- pns2019.1 %>% filter(P02801!=9) %>% mutate(P011P = ifelse(P02801>=5, 1,2))\n", "pns2019.1$P011P<-factor(pns2019.1$P011P, levels=c(1,2), labels=c(\"Sim\",\"Nao\"))\n", "summary(pns2019.1$P011P)\n", "\n", "#P012P - Consumo abusivo de álcool nos últimos 30 dias\n", "pns2019.1$P03201[which(is.na(pns2019.1$P03201))] <- 0\n", "pns2019.1 <- pns2019.1 %>% filter(P03201!=9) %>% mutate(P012P = ifelse(P03201==1, 1,2))\n", "pns2019.1$P012P<-factor(pns2019.1$P012P, levels=c(1,2), labels=c(\"Sim\",\"Nao\"))\n", "summary(pns2019.1$P012P)\n", "\n", "#P013P - Dirigir automóvel ou motocicleta logo depois de beber nos últimos 12 meses\n", "pns2019.1$P03001[which(is.na(pns2019.1$P03001))] <- 0\n", "pns2019.1 <- pns2019.1 %>% filter(P03001!=9|P03001>0) %>% mutate(P013P = ifelse(P03001==1, 1,2))\n", "pns2019.1$P013P<-factor(pns2019.1$P013P, levels=c(1,2), labels=c(\"Sim\",\"Nao\"))\n", "summary(pns2019.1$P013P)\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Definições de abrangências" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Situação urbana ou rural" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Urbano
69873
Rural
20973
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Urbano] 69873\n", "\\item[Rural] 20973\n", "\\end{description*}\n" ], "text/markdown": [ "Urbano\n", ": 69873Rural\n", ": 20973\n", "\n" ], "text/plain": [ "Urbano Rural \n", " 69873 20973 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Situação Urbano ou Rural\n", "pns2019.1 <- pns2019.1 %>% rename(Sit_Urbano_Rural=V0026)\n", "pns2019.1$Sit_Urbano_Rural<-factor(pns2019.1$Sit_Urbano_Rural, levels=c(1,2), labels=c(\"Urbano\", \"Rural\"))\n", "summary(pns2019.1$Sit_Urbano_Rural)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sexo" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Masculino
42799
Feminino
48047
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Masculino] 42799\n", "\\item[Feminino] 48047\n", "\\end{description*}\n" ], "text/markdown": [ "Masculino\n", ": 42799Feminino\n", ": 48047\n", "\n" ], "text/plain": [ "Masculino Feminino \n", " 42799 48047 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Sexo\n", "pns2019.1 <- pns2019.1 %>% rename(Sexo=C006)\n", "pns2019.1$Sexo<-factor(pns2019.1$Sexo, levels=c(1,2), labels=c(\"Masculino\", \"Feminino\"))\n", "summary(pns2019.1$Sexo)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### UF" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Rondonia
2176
Acre
2380
Amazonas
3479
Roraima
2238
Para
3853
Amapa
1554
Tocantins
1922
Maranhao
5080
Piaui
2740
Ceara
4265
Rio Grande do Norte
2962
Paraiba
3158
Pernambuco
4083
Alagoas
2987
Sergipe
2610
Bahia
3659
Minas Gerais
5209
Espirito Santo
3541
Rio de Janeiro
4966
Sao Paulo
6114
Parana
3967
Santa Catarina
3738
Rio Grande do Sul
3767
Mato Grosso do Sul
2863
Mato Grosso
2468
Goias
2702
Distrito Federal
2365
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Rondonia] 2176\n", "\\item[Acre] 2380\n", "\\item[Amazonas] 3479\n", "\\item[Roraima] 2238\n", "\\item[Para] 3853\n", "\\item[Amapa] 1554\n", "\\item[Tocantins] 1922\n", "\\item[Maranhao] 5080\n", "\\item[Piaui] 2740\n", "\\item[Ceara] 4265\n", "\\item[Rio Grande do Norte] 2962\n", "\\item[Paraiba] 3158\n", "\\item[Pernambuco] 4083\n", "\\item[Alagoas] 2987\n", "\\item[Sergipe] 2610\n", "\\item[Bahia] 3659\n", "\\item[Minas Gerais] 5209\n", "\\item[Espirito Santo] 3541\n", "\\item[Rio de Janeiro] 4966\n", "\\item[Sao Paulo] 6114\n", "\\item[Parana] 3967\n", "\\item[Santa Catarina] 3738\n", "\\item[Rio Grande do Sul] 3767\n", "\\item[Mato Grosso do Sul] 2863\n", "\\item[Mato Grosso] 2468\n", "\\item[Goias] 2702\n", "\\item[Distrito Federal] 2365\n", "\\end{description*}\n" ], "text/markdown": [ "Rondonia\n", ": 2176Acre\n", ": 2380Amazonas\n", ": 3479Roraima\n", ": 2238Para\n", ": 3853Amapa\n", ": 1554Tocantins\n", ": 1922Maranhao\n", ": 5080Piaui\n", ": 2740Ceara\n", ": 4265Rio Grande do Norte\n", ": 2962Paraiba\n", ": 3158Pernambuco\n", ": 4083Alagoas\n", ": 2987Sergipe\n", ": 2610Bahia\n", ": 3659Minas Gerais\n", ": 5209Espirito Santo\n", ": 3541Rio de Janeiro\n", ": 4966Sao Paulo\n", ": 6114Parana\n", ": 3967Santa Catarina\n", ": 3738Rio Grande do Sul\n", ": 3767Mato Grosso do Sul\n", ": 2863Mato Grosso\n", ": 2468Goias\n", ": 2702Distrito Federal\n", ": 2365\n", "\n" ], "text/plain": [ " Rondonia Acre Amazonas Roraima \n", " 2176 2380 3479 2238 \n", " Para Amapa Tocantins Maranhao \n", " 3853 1554 1922 5080 \n", " Piaui Ceara Rio Grande do Norte Paraiba \n", " 2740 4265 2962 3158 \n", " Pernambuco Alagoas Sergipe Bahia \n", " 4083 2987 2610 3659 \n", " Minas Gerais Espirito Santo Rio de Janeiro Sao Paulo \n", " 5209 3541 4966 6114 \n", " Parana Santa Catarina Rio Grande do Sul Mato Grosso do Sul \n", " 3967 3738 3767 2863 \n", " Mato Grosso Goias Distrito Federal \n", " 2468 2702 2365 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Estados - UFs\n", "pns2019.1 <- pns2019.1 %>% rename(Unidades_da_Federacao=V0001)\n", "pns2019.1$Unidades_da_Federacao<-factor(pns2019.1$Unidades_da_Federacao, levels=c(11,12,13,14,15,16,17,21,22,23,24,25,26,27,28,29,31,32,33,35,41,42,43,50,51,52,53),\n", " label=c(\"Rondonia\",\"Acre\",\"Amazonas\",\"Roraima\",\"Para\",\"Amapa\",\"Tocantins\",\"Maranhao\",\"Piaui\",\"Ceara\",\n", " \"Rio Grande do Norte\",\"Paraiba\",\"Pernambuco\",\"Alagoas\",\"Sergipe\",\"Bahia\",\n", " \"Minas Gerais\",\"Espirito Santo\",\"Rio de Janeiro\",\"Sao Paulo\",\n", " \"Parana\",\"Santa Catarina\",\"Rio Grande do Sul\", \n", " \"Mato Grosso do Sul\",\"Mato Grosso\",\"Goias\",\"Distrito Federal\"))\n", "summary(pns2019.1$Unidades_da_Federacao)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Grandes Regiões" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
1 Norte
17602
2 Nordeste
31544
3 Sudeste
19830
4 Sul
11472
5 Centro-Oeste
10398
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[1 Norte] 17602\n", "\\item[2 Nordeste] 31544\n", "\\item[3 Sudeste] 19830\n", "\\item[4 Sul] 11472\n", "\\item[5 Centro-Oeste] 10398\n", "\\end{description*}\n" ], "text/markdown": [ "1 Norte\n", ": 176022 Nordeste\n", ": 315443 Sudeste\n", ": 198304 Sul\n", ": 114725 Centro-Oeste\n", ": 10398\n", "\n" ], "text/plain": [ " 1 Norte 2 Nordeste 3 Sudeste 4 Sul 5 Centro-Oeste \n", " 17602 31544 19830 11472 10398 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Grandes Regiões\n", "pns2019.1 <- pns2019.1 %>% \n", " mutate(GrandesRegioes = fct_collapse(Unidades_da_Federacao, \n", " `1 Norte` = c(\"Rondonia\",\"Acre\",\"Amazonas\",\"Roraima\",\"Para\", \"Amapa\",\"Tocantins\"),\n", " `2 Nordeste` = c(\"Maranhao\", \"Piaui\", \"Ceara\", \"Rio Grande do Norte\", \"Paraiba\",\"Pernambuco\", \"Alagoas\",\"Sergipe\",\"Bahia\"),\n", " `3 Sudeste` = c(\"Minas Gerais\", \"Espirito Santo\",\"Rio de Janeiro\", \"Sao Paulo\"), \n", " `4 Sul` = c(\"Parana\", \"Santa Catarina\", \"Rio Grande do Sul\"),\n", " `5 Centro-Oeste`= c(\"Mato Grosso do Sul\",\"Mato Grosso\", \"Goias\", \"Distrito Federal\")))\n", "summary(pns2019.1$GrandesRegioes)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Capital" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Porto Velho
2176
Rio Branco
2380
Manaus
3479
Boa Vista
2238
Belem
3853
Macapa
1554
Palmas
1922
Sao Luis
5080
Teresina
2740
Fortaleza
4265
Natal
2962
Joao Pessoa
3158
Recife
4083
Maceio
2987
Aracaju
2610
Salvador
3659
Belo Horizonte
5209
Vitoria
3541
Rio de Janeiro
4966
Sao Paulo
6114
Curitiba
3967
Florianopolis
3738
Porto Alegre
3767
Campo Grande
2863
Cuiaba
2468
Goiania
2702
Brasilia
2365
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Porto Velho] 2176\n", "\\item[Rio Branco ] 2380\n", "\\item[Manaus] 3479\n", "\\item[Boa Vista] 2238\n", "\\item[Belem] 3853\n", "\\item[Macapa] 1554\n", "\\item[Palmas] 1922\n", "\\item[Sao Luis] 5080\n", "\\item[Teresina] 2740\n", "\\item[Fortaleza] 4265\n", "\\item[Natal] 2962\n", "\\item[Joao Pessoa] 3158\n", "\\item[Recife] 4083\n", "\\item[Maceio] 2987\n", "\\item[Aracaju] 2610\n", "\\item[Salvador] 3659\n", "\\item[Belo Horizonte] 5209\n", "\\item[Vitoria] 3541\n", "\\item[Rio de Janeiro] 4966\n", "\\item[Sao Paulo] 6114\n", "\\item[Curitiba] 3967\n", "\\item[Florianopolis] 3738\n", "\\item[Porto Alegre] 3767\n", "\\item[Campo Grande] 2863\n", "\\item[Cuiaba] 2468\n", "\\item[Goiania] 2702\n", "\\item[Brasilia] 2365\n", "\\end{description*}\n" ], "text/markdown": [ "Porto Velho\n", ": 2176Rio Branco \n", ": 2380Manaus\n", ": 3479Boa Vista\n", ": 2238Belem\n", ": 3853Macapa\n", ": 1554Palmas\n", ": 1922Sao Luis\n", ": 5080Teresina\n", ": 2740Fortaleza\n", ": 4265Natal\n", ": 2962Joao Pessoa\n", ": 3158Recife\n", ": 4083Maceio\n", ": 2987Aracaju\n", ": 2610Salvador\n", ": 3659Belo Horizonte\n", ": 5209Vitoria\n", ": 3541Rio de Janeiro\n", ": 4966Sao Paulo\n", ": 6114Curitiba\n", ": 3967Florianopolis\n", ": 3738Porto Alegre\n", ": 3767Campo Grande\n", ": 2863Cuiaba\n", ": 2468Goiania\n", ": 2702Brasilia\n", ": 2365\n", "\n" ], "text/plain": [ " Porto Velho Rio Branco Manaus Boa Vista Belem \n", " 2176 2380 3479 2238 3853 \n", " Macapa Palmas Sao Luis Teresina Fortaleza \n", " 1554 1922 5080 2740 4265 \n", " Natal Joao Pessoa Recife Maceio Aracaju \n", " 2962 3158 4083 2987 2610 \n", " Salvador Belo Horizonte Vitoria Rio de Janeiro Sao Paulo \n", " 3659 5209 3541 4966 6114 \n", " Curitiba Florianopolis Porto Alegre Campo Grande Cuiaba \n", " 3967 3738 3767 2863 2468 \n", " Goiania Brasilia \n", " 2702 2365 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Capital\n", "pns2019.1<- pns2019.1 %>% mutate(Capital= fct_collapse(Unidades_da_Federacao,\n", " `Porto Velho`= \"Rondonia\", \n", " `Boa Vista`= \"Roraima\", \n", " `Rio Branco `= \"Acre\", \n", " `Manaus` = \"Amazonas\",\n", " `Boa Vista`= \"Roraima\",\n", " `Belem` = \"Para\" ,\n", " `Macapa`= \"Amapa\",\n", " `Palmas` = \"Tocantins\",\n", " `Sao Luis` = \"Maranhao\",\n", " `Teresina`= \"Piaui\" ,\n", " `Fortaleza`= \"Ceara\",\n", " `Natal`= \"Rio Grande do Norte\",\n", " `Joao Pessoa`= \"Paraiba\",\n", " `Recife`= \"Pernambuco\",\n", " `Maceio`= \"Alagoas\",\n", " `Aracaju`= \"Sergipe\",\n", " `Salvador`= \"Bahia\",\n", " `Belo Horizonte`= \"Minas Gerais\",\n", " `Vitoria`= \"Espirito Santo\",\n", " `Rio de Janeiro`= \"Rio de Janeiro\",\n", " `Sao Paulo`= \"Sao Paulo\",\n", " `Curitiba`= \"Parana\",\n", " `Florianopolis`= \"Santa Catarina\",\n", " `Porto Alegre`= \"Rio Grande do Sul\",\n", " `Campo Grande`= \"Mato Grosso do Sul\",\n", " `Cuiaba`= \"Mato Grosso\",\n", " `Goiania` = \"Goias\",\n", " `Brasilia`= \"Distrito Federal\"))\n", "summary(pns2019.1$Capital)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Faixa Etária" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
18 a 29 anos
15394
30 a 44 anos
26754
45 a 59 anos
23655
60 a 74 anos
16767
75 anos ou mais
5961
NA's
2315
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[18 a 29 anos] 15394\n", "\\item[30 a 44 anos] 26754\n", "\\item[45 a 59 anos] 23655\n", "\\item[60 a 74 anos] 16767\n", "\\item[75 anos ou mais] 5961\n", "\\item[NA's] 2315\n", "\\end{description*}\n" ], "text/markdown": [ "18 a 29 anos\n", ": 1539430 a 44 anos\n", ": 2675445 a 59 anos\n", ": 2365560 a 74 anos\n", ": 1676775 anos ou mais\n", ": 5961NA's\n", ": 2315\n", "\n" ], "text/plain": [ " 18 a 29 anos 30 a 44 anos 45 a 59 anos 60 a 74 anos 75 anos ou mais \n", " 15394 26754 23655 16767 5961 \n", " NA's \n", " 2315 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Faixas Etárias\n", "pns2019.1 <- pns2019.1 %>% mutate(faixa_idade=cut(C008,\n", " breaks = c(18,30, 45, 60, 75,Inf),\n", " labels = c(\"18 a 29 anos\",\"30 a 44 anos\",\"45 a 59 anos\",\"60 a 74 anos\",\"75 anos ou mais\"), \n", " ordered_result = TRUE, right = FALSE))\n", "summary(pns2019.1$faixa_idade) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Raça" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Branca
33133
Preta
10345
Parda
47368
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Branca] 33133\n", "\\item[Preta] 10345\n", "\\item[Parda] 47368\n", "\\end{description*}\n" ], "text/markdown": [ "Branca\n", ": 33133Preta\n", ": 10345Parda\n", ": 47368\n", "\n" ], "text/plain": [ "Branca Preta Parda \n", " 33133 10345 47368 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Raça\n", "pns2019.1 <- pns2019.1 %>% filter(C009!=3|C009!=5|C009!=9)%>% mutate(Raca= ifelse(C009==1, 1, \n", " ifelse(C009==2 , 2, 3)))\n", "pns2019.1$Raca<-factor(pns2019.1$Raca, levels=c(1,2,3),labels=c(\"Branca\", \"Preta\", \"Parda\"))\n", "summary(pns2019.1$Raca)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Renda per capita" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Ate 1/2 SM
23697
1/2 ate 1 SM
26406
1 ate 2 SM
22466
2 ate 3 SM
7612
Mais de 3 SM
10665
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Ate 1/2 SM] 23697\n", "\\item[1/2 ate 1 SM] 26406\n", "\\item[1 ate 2 SM] 22466\n", "\\item[2 ate 3 SM] 7612\n", "\\item[Mais de 3 SM] 10665\n", "\\end{description*}\n" ], "text/markdown": [ "Ate 1/2 SM\n", ": 236971/2 ate 1 SM\n", ": 264061 ate 2 SM\n", ": 224662 ate 3 SM\n", ": 7612Mais de 3 SM\n", ": 10665\n", "\n" ], "text/plain": [ " Ate 1/2 SM 1/2 ate 1 SM 1 ate 2 SM 2 ate 3 SM Mais de 3 SM \n", " 23697 26406 22466 7612 10665 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Rendimento domiciliar per capita\n", "\n", "pns2019.1 <- pns2019.1 %>% mutate(rend_per_capita = ifelse(VDF004 %in% 1:2, 1, \n", " ifelse(VDF004%in% 3, 2, \n", " ifelse(VDF004%in% 4, 3,\n", " ifelse(VDF004%in% 5, 4,5)))))\n", "\n", "pns2019.1$rend_per_capita<-factor(pns2019.1$rend_per_capita, levels=c(1,2,3,4,5), labels=c(\"Ate 1/2 SM\",\"1/2 ate 1 SM\",\"1 ate 2 SM\",\n", " \"2 ate 3 SM\",\"Mais de 3 SM\"))\n", "summary(pns2019.1$rend_per_capita)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Escolaridade" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Sem instrucao e fundamental incompleto
36276
Fundamental completo e medio incompleto
13520
Medio completo e superior incompleto
27433
Superior completo
13617
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Sem instrucao e fundamental incompleto] 36276\n", "\\item[Fundamental completo e medio incompleto] 13520\n", "\\item[Medio completo e superior incompleto] 27433\n", "\\item[Superior completo] 13617\n", "\\end{description*}\n" ], "text/markdown": [ "Sem instrucao e fundamental incompleto\n", ": 36276Fundamental completo e medio incompleto\n", ": 13520Medio completo e superior incompleto\n", ": 27433Superior completo\n", ": 13617\n", "\n" ], "text/plain": [ " Sem instrucao e fundamental incompleto Fundamental completo e medio incompleto \n", " 36276 13520 \n", " Medio completo e superior incompleto Superior completo \n", " 27433 13617 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Escolaridade\n", "pns2019.1 <- pns2019.1 %>% mutate(gescol = ifelse(VDD004A %in% 1:2, 1, \n", " ifelse(VDD004A%in% 3:4, 2, \n", " ifelse(VDD004A%in% 5:6, 3,4\n", " ))))\n", "\n", "pns2019.1$gescol<-factor(pns2019.1$gescol, levels=c(1,2,3,4), \n", " labels=c(\"Sem instrucao e fundamental incompleto\",\"Fundamental completo e medio incompleto\",\n", " \"Medio completo e superior incompleto\",\"Superior completo\"))\n", "summary(pns2019.1$gescol)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Criando indicadores" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Filtrando base de indicadores" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ " V0024 UPA_PNS peso_morador_selec P010P \n", " Min. :1110011 Min. :110000016 Min. : 0.00582 Sim:21106 \n", " 1st Qu.:2210011 1st Qu.:220001391 1st Qu.: 0.27579 Nao:69740 \n", " Median :2853020 Median :280039950 Median : 0.56358 \n", " Mean :2998072 Mean :296695855 Mean : 1.03597 \n", " 3rd Qu.:3553013 3rd Qu.:350588998 3rd Qu.: 1.16822 \n", " Max. :5310220 Max. :530051067 Max. :63.29775 \n", " \n", " P011P P012P P013P C008 V0031 \n", " Sim: 2078 Sim:15032 Sim: 4045 Min. : 15.00 Min. :1.000 \n", " Nao:88768 Nao:75814 Nao:86801 1st Qu.: 32.00 1st Qu.:1.000 \n", " Median : 45.00 Median :2.000 \n", " Mean : 46.39 Mean :2.605 \n", " 3rd Qu.: 60.00 3rd Qu.:4.000 \n", " Max. :107.00 Max. :4.000 \n", " \n", " Sit_Urbano_Rural Sexo Unidades_da_Federacao\n", " Urbano:69873 Masculino:42799 Sao Paulo : 6114 \n", " Rural :20973 Feminino :48047 Minas Gerais : 5209 \n", " Maranhao : 5080 \n", " Rio de Janeiro: 4966 \n", " Ceara : 4265 \n", " Pernambuco : 4083 \n", " (Other) :61129 \n", " GrandesRegioes Capital faixa_idade \n", " 1 Norte :17602 Sao Paulo : 6114 18 a 29 anos :15394 \n", " 2 Nordeste :31544 Belo Horizonte: 5209 30 a 44 anos :26754 \n", " 3 Sudeste :19830 Sao Luis : 5080 45 a 59 anos :23655 \n", " 4 Sul :11472 Rio de Janeiro: 4966 60 a 74 anos :16767 \n", " 5 Centro-Oeste:10398 Fortaleza : 4265 75 anos ou mais: 5961 \n", " Recife : 4083 NA's : 2315 \n", " (Other) :61129 \n", " Raca rend_per_capita \n", " Branca:33133 Ate 1/2 SM :23697 \n", " Preta :10345 1/2 ate 1 SM:26406 \n", " Parda :47368 1 ate 2 SM :22466 \n", " 2 ate 3 SM : 7612 \n", " Mais de 3 SM:10665 \n", " \n", " \n", " gescol \n", " Sem instrucao e fundamental incompleto :36276 \n", " Fundamental completo e medio incompleto:13520 \n", " Medio completo e superior incompleto :27433 \n", " Superior completo :13617 \n", " \n", " \n", " " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Selecionando variáveis para cálculo de indicadores no survey_ALTERAR\n", "pns2019Psurvey<- pns2019.1 %>% select(\"V0024\",\"UPA_PNS\",\"peso_morador_selec\", \"P010P\",\"P011P\",\"P012P\", \"P013P\",\n", " \"C008\",\"V0031\",\"Sit_Urbano_Rural\",\"Sexo\",\"Unidades_da_Federacao\", \"GrandesRegioes\",\n", " \"Capital\",\"faixa_idade\", \"Raca\",\"rend_per_capita\",\"gescol\", \"Capital\")\n", "summary(pns2019Psurvey)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exporta tabela filtrada" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [], "source": [ "#Salvando csv para cálculo de indicadores no survey_ALTERAR\n", "path <- \"\"\n", "write.csv(pns2019Psurvey, file.path(path, \"pns2019Psurvey.csv\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Cria plano amostral complexo" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "#survey design\n", "desPNSP=svydesign(id=~UPA_PNS, strat=~V0024, weight=~peso_morador_selec, nest=TRUE, data=pns2019Psurvey)\n", "desPNSP18=subset(desPNSP, C008>=18)\n", "desPNSPC=svydesign(id=~UPA_PNS, strat=~V0024, weight=~peso_morador_selec, nest=TRUE, data=pns2019Psurvey)\n", "desPNSPC18=subset(desPNSPC, C008>=18 & V0031==1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Criação da tabela de indicadores\n", "Essa tabela é responsável por unir os indicadores no formato do painel de indicadores" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "matrizIndicadores = data.frame()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Definição de variáveis para iteração dos indicadores" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "#Cálculo dos indicadores usando o pacote survey - alterar\n", "ListaIndicadores = c(~P010P,~P011P,~P012P,~P013P)\n", "ListaIndicadoresTexto = c(\"P010P\",\"P011P\",\"P012P\",\"P013P\")\n", "ListaDominios = c(~Sexo,~Raca,~rend_per_capita,~faixa_idade,~Sit_Urbano_Rural,~Unidades_da_Federacao,~GrandesRegioes,~Capital,~gescol)\n", "ListaDominiosTexto = c(\"Sexo\",\"raca\",\"rend_per_capita\",\"fx_idade_18\",\"urb_rur\",\"uf\",\"regiao\",\"capital\",\"gescol\")\n", "ListaTotais = c('Brasil','Capital')\n", "Ano <- \"2019\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Preenchendo a tabela de indicadores\n", "Essas iterações rodam por indicador, abrangência e por design" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [], "source": [ "i <- 0\n", "for( indicador in ListaIndicadores){\n", " i <- i + 1\n", " j <- 1\n", " for (dominio in ListaDominios){\n", " if (ListaDominiosTexto[j]==\"capital\"){\n", " dataframe_indicador<-svyby( indicador , dominio , desPNSPC18 , svymean,vartype=c(\"ci\",\"cv\"))\n", " }else{\n", " dataframe_indicador<-svyby( indicador , dominio , desPNSP18 , svymean,vartype=c(\"ci\",\"cv\"))\n", " }\n", " \n", " dataframe_indicador<-data.frame(dataframe_indicador)\n", " \n", " \n", " colnames(dataframe_indicador) <- c(\"abr_nome\",\"Sim\",\"Nao\",\"LowerS\",\"LowerN\",\"UpperS\",\"UpperN\",\"cvS\",\"cvN\")\n", " dataframe_indicador$Indicador <- ListaIndicadoresTexto[i]\n", " dataframe_indicador$abr_tipo <- ListaDominiosTexto[j]\n", " dataframe_indicador$Ano <- Ano\n", " dataframe_indicador <- dataframe_indicador %>% select(\"abr_tipo\",\"abr_nome\",\"Ano\",\"Indicador\",\"Sim\",\"LowerS\",\"UpperS\",\"cvS\")\n", " matrizIndicadores <-rbind(matrizIndicadores,dataframe_indicador)\n", " j <- j + 1\n", " \n", " }\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Criando a tabela pela abrangência total" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "matriz_totais <- data.frame()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Preenchendo a tabela com as abrangencia Brasil e total das capitais" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "i=0\n", "for(indicador in ListaIndicadores){\n", " i <- i+1\n", " for(total in ListaTotais){\n", " dataframe_indicador <- data.frame()\n", " dataframe_indicador_S <- data.frame()\n", " dataframe_indicador_N <- data.frame()\n", " if(total == 'Capital'){\n", " dataframe_indicador <- svymean(indicador,desPNSPC18)\n", " }else{\n", " dataframe_indicador <- svymean(indicador,desPNSP18)\n", " }\n", " intervalo_confianca <- confint(dataframe_indicador)\n", " coeficiente_variacao <- cv(dataframe_indicador)\n", " dataframe_indicador <- cbind(data.frame(dataframe_indicador),data.frame(intervalo_confianca))\n", " dataframe_indicador <- cbind(data.frame(dataframe_indicador),data.frame(coeficiente_variacao))\n", "\n", " dataframe_indicador <- dataframe_indicador %>% \n", " select('mean','X2.5..','X97.5..',coeficiente_variacao) \n", " \n", " dataframe_indicador <- dataframe_indicador %>% \n", " slice(1)\n", " colnames(dataframe_indicador) <- c('Sim','LowerS','UpperS','cvS')\n", " dataframe_indicador <- dataframe_indicador %>% \n", " select('Sim','LowerS','UpperS','cvS')\n", " dataframe_indicador$Indicador <- ListaIndicadoresTexto[i]\n", " dataframe_indicador$abr_tipo <- \"total\"\n", " dataframe_indicador$abr_nome <- total\n", " dataframe_indicador$Ano <- Ano \n", " dataframe_indicador <- dataframe_indicador %>% \n", " select(\"abr_tipo\",\"abr_nome\",\"Ano\",\"Indicador\",'Sim','LowerS','UpperS','cvS')\n", " \n", " matriz_totais <-rbind(matriz_totais,dataframe_indicador)\n", " \n", " }\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Unindo tabela de indicadores e de totais" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "matrizIndicadores<-rbind(matrizIndicadores,matriz_totais)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Exportando tabela de indicadores" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [], "source": [ "write.table(matrizIndicadores,file=\"\",sep = \";\",dec = \",\",row.names = FALSE)" ] } ], "metadata": { "kernelspec": { "display_name": "R", "language": "R", "name": "ir" }, "language_info": { "codemirror_mode": "r", "file_extension": ".r", "mimetype": "text/x-r-source", "name": "R", "pygments_lexer": "r", "version": "3.6.3" } }, "nbformat": 4, "nbformat_minor": 4 }