{ "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 O 2019 Acidentes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Bibliotecas Utilizadas" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Lendo pacotes necessários\n", "library(survey)\n", "library(dplyr)\n", "library(tictoc)\n", "library(foreign)\n", "library(forcats)\n", "library(tidyverse)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Carregando microdados da PNS" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Carregando banco de dados\n", "load(\"\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Definição do peso e filtragem de respondentes do questionário" ] }, { "cell_type": "code", "execution_count": 3, "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 U e calculando peso amostral - summary de verificação\n", "pns2019.1<-pns2019v6 %>% 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": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Sim
45832
Não
38603
NA's
6411
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Sim] 45832\n", "\\item[Não] 38603\n", "\\item[NA's] 6411\n", "\\end{description*}\n" ], "text/markdown": [ "Sim\n", ": 45832Não\n", ": 38603NA's\n", ": 6411\n", "\n" ], "text/plain": [ " Sim Não NA's \n", "45832 38603 6411 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Sim
17149
Não
5254
NA's
68443
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Sim] 17149\n", "\\item[Não] 5254\n", "\\item[NA's] 68443\n", "\\end{description*}\n" ], "text/markdown": [ "Sim\n", ": 17149Não\n", ": 5254NA's\n", ": 68443\n", "\n" ], "text/plain": [ " Sim Não NA's \n", "17149 5254 68443 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Sim
40636
Não
15126
NA's
35084
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Sim] 40636\n", "\\item[Não] 15126\n", "\\item[NA's] 35084\n", "\\end{description*}\n" ], "text/markdown": [ "Sim\n", ": 40636Não\n", ": 15126NA's\n", ": 35084\n", "\n" ], "text/plain": [ " Sim Não NA's \n", "40636 15126 35084 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Sim
11479
Não
30406
NA's
48961
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Sim] 11479\n", "\\item[Não] 30406\n", "\\item[NA's] 48961\n", "\\end{description*}\n" ], "text/markdown": [ "Sim\n", ": 11479Não\n", ": 30406NA's\n", ": 48961\n", "\n" ], "text/plain": [ " Sim Não NA's \n", "11479 30406 48961 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Sim
2257
Não
88589
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Sim] 2257\n", "\\item[Não] 88589\n", "\\end{description*}\n" ], "text/markdown": [ "Sim\n", ": 2257Não\n", ": 88589\n", "\n" ], "text/plain": [ " Sim Não \n", " 2257 88589 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Sim
26396
Não
4973
NA's
59477
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Sim] 26396\n", "\\item[Não] 4973\n", "\\item[NA's] 59477\n", "\\end{description*}\n" ], "text/markdown": [ "Sim\n", ": 26396Não\n", ": 4973NA's\n", ": 59477\n", "\n" ], "text/plain": [ " Sim Não NA's \n", "26396 4973 59477 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Sim
68537
Não
22309
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Sim] 68537\n", "\\item[Não] 22309\n", "\\end{description*}\n" ], "text/markdown": [ "Sim\n", ": 68537Não\n", ": 22309\n", "\n" ], "text/plain": [ " Sim Não \n", "68537 22309 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Usa sempre cinto quando anda no banco de trás de automóvel. - O002P\n", "pns2019.1 <- pns2019.1 %>% mutate(O002P= ifelse(O00501==1,NA,ifelse(O00501==2,1,2) ))\n", "pns2019.1$O002P<-factor(pns2019.1$O002P, levels=c(1,2), labels=c(\"Sim\",\"Não\"))\n", "summary(pns2019.1$O002P)\n", "\n", "#Usa sempre capacete quando dirige motocicleta. - O003P\n", "\n", "pns2019.1 <- pns2019.1 %>% mutate(O003P= ifelse(O00701==1,1,2))\n", "pns2019.1$O003P<-factor(pns2019.1$O003P, levels=c(1,2), labels=c(\"Sim\",\"Não\"))\n", "summary(pns2019.1$O003P)\n", "\n", "#Usa sempre capacete quando está como passageiro de motocicleta. - O004P\n", "\n", "pns2019.1 <- pns2019.1 %>% mutate(O004P= ifelse(O00801==1,NA,ifelse(O00801==2,1,2)))\n", "pns2019.1$O004P<-factor(pns2019.1$O004P, levels=c(1,2), labels=c(\"Sim\",\"Não\"))\n", "summary(pns2019.1$O004P)\n", "\n", "#Usa sempre capacete quando está como passageiro de motocicleta. - O005P\n", "pns2019.1 <- pns2019.1 %>% mutate(O005P = ifelse(O00101==1 | O00201==1,2,2)) \n", "pns2019.1 <- pns2019.1 %>% mutate(O005P = ifelse(O00802<=4,1,2)) \n", "pns2019.1$O005P<-factor(pns2019.1$O005P, levels=c(1,2), labels=c(\"Sim\",\"Não\"))\n", "summary(pns2019.1$O005P)\n", "\n", "#Usa sempre capacete quando está como passageiro de motocicleta. - O006P\n", "pns2019.1 <- pns2019.1 %>% mutate(O006P = ifelse(O009==1,1,\n", " ifelse(O009==2,2,2))) \n", "pns2019.1$O006P<-factor(pns2019.1$O006P, levels=c(1,2), labels=c(\"Sim\",\"Não\"))\n", "summary(pns2019.1$O006P)\n", "\n", "#Usa sempre cinto quando dirige. - O007P\n", "pns2019.1 <- pns2019.1 %>% mutate(O007P = ifelse(O00401==1,1,\n", " ifelse(O00101==2,2,2))) \n", "pns2019.1$O007P<-factor(pns2019.1$O007P, levels=c(1,2), labels=c(\"Sim\",\"Não\"))\n", "summary(pns2019.1$O007P)\n", "\n", "\n", "#Usa sempre cinto quando anda na frente como passageiro. - O008P\n", "pns2019.1 <- pns2019.1 %>% mutate(O008P = ifelse(O00402==2,1,\n", " ifelse(O00402>=2,2,2))) \n", "pns2019.1$O008P<-factor(pns2019.1$O008P, levels=c(1,2), labels=c(\"Sim\",\"Não\"))\n", "summary(pns2019.1$O008P)" ] }, { "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": 5, "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": 6, "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": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Rondônia
2176
Acre
2380
Amazonas
3479
Roraima
2238
Pará
3853
Amapá
1554
Tocantins
1922
Maranhão
5080
Piauí
2740
Ceará
4265
Rio Grande do Norte
2962
Paraíba
3158
Pernambuco
4083
Alagoas
2987
Sergipe
2610
Bahia
3659
Minas Gerais
5209
Espírito Santo
3541
Rio de Janeiro
4966
São Paulo
6114
Paraná
3967
Santa Catarina
3738
Rio Grande do Sul
3767
Mato Grosso do Sul
2863
Mato Grosso
2468
Goiás
2702
Distrito Federal
2365
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Rondônia] 2176\n", "\\item[Acre] 2380\n", "\\item[Amazonas] 3479\n", "\\item[Roraima] 2238\n", "\\item[Pará] 3853\n", "\\item[Amapá] 1554\n", "\\item[Tocantins] 1922\n", "\\item[Maranhão] 5080\n", "\\item[Piauí] 2740\n", "\\item[Ceará] 4265\n", "\\item[Rio Grande do Norte] 2962\n", "\\item[Paraíba] 3158\n", "\\item[Pernambuco] 4083\n", "\\item[Alagoas] 2987\n", "\\item[Sergipe] 2610\n", "\\item[Bahia] 3659\n", "\\item[Minas Gerais] 5209\n", "\\item[Espírito Santo] 3541\n", "\\item[Rio de Janeiro] 4966\n", "\\item[São Paulo] 6114\n", "\\item[Paraná] 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[Goiás] 2702\n", "\\item[Distrito Federal] 2365\n", "\\end{description*}\n" ], "text/markdown": [ "Rondônia\n", ": 2176Acre\n", ": 2380Amazonas\n", ": 3479Roraima\n", ": 2238Pará\n", ": 3853Amapá\n", ": 1554Tocantins\n", ": 1922Maranhão\n", ": 5080Piauí\n", ": 2740Ceará\n", ": 4265Rio Grande do Norte\n", ": 2962Paraíba\n", ": 3158Pernambuco\n", ": 4083Alagoas\n", ": 2987Sergipe\n", ": 2610Bahia\n", ": 3659Minas Gerais\n", ": 5209Espírito Santo\n", ": 3541Rio de Janeiro\n", ": 4966São Paulo\n", ": 6114Paraná\n", ": 3967Santa Catarina\n", ": 3738Rio Grande do Sul\n", ": 3767Mato Grosso do Sul\n", ": 2863Mato Grosso\n", ": 2468Goiás\n", ": 2702Distrito Federal\n", ": 2365\n", "\n" ], "text/plain": [ " Rondônia Acre Amazonas Roraima \n", " 2176 2380 3479 2238 \n", " Pará Amapá Tocantins Maranhão \n", " 3853 1554 1922 5080 \n", " Piauí Ceará Rio Grande do Norte Paraíba \n", " 2740 4265 2962 3158 \n", " Pernambuco Alagoas Sergipe Bahia \n", " 4083 2987 2610 3659 \n", " Minas Gerais Espírito Santo Rio de Janeiro São Paulo \n", " 5209 3541 4966 6114 \n", " Paraná Santa Catarina Rio Grande do Sul Mato Grosso do Sul \n", " 3967 3738 3767 2863 \n", " Mato Grosso Goiás 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(\"Rondônia\",\"Acre\",\"Amazonas\",\"Roraima\",\"Pará\",\"Amapá\",\"Tocantins\",\"Maranhão\",\"Piauí\",\"Ceará\",\n", " \"Rio Grande do Norte\",\"Paraíba\",\"Pernambuco\",\"Alagoas\",\"Sergipe\",\"Bahia\",\n", " \"Minas Gerais\",\"Espírito Santo\",\"Rio de Janeiro\",\"São Paulo\",\n", " \"Paraná\",\"Santa Catarina\",\"Rio Grande do Sul\", \n", " \"Mato Grosso do Sul\",\"Mato Grosso\",\"Goiás\",\"Distrito Federal\"))\n", "summary(pns2019.1$Unidades_da_Federacao)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Grandes Regiões" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Norte
17602
Nordeste
31544
Sudeste
19830
Sul
11472
Centro-Oeste
10398
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Norte] 17602\n", "\\item[Nordeste] 31544\n", "\\item[Sudeste] 19830\n", "\\item[Sul] 11472\n", "\\item[Centro-Oeste] 10398\n", "\\end{description*}\n" ], "text/markdown": [ "Norte\n", ": 17602Nordeste\n", ": 31544Sudeste\n", ": 19830Sul\n", ": 11472Centro-Oeste\n", ": 10398\n", "\n" ], "text/plain": [ " Norte Nordeste Sudeste Sul 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", " `Norte` = c(\"Rondônia\",\"Acre\",\"Amazonas\",\"Roraima\",\"Pará\", \"Amapá\",\"Tocantins\"),\n", " `Nordeste` = c(\"Maranhão\", \"Piauí\", \"Ceará\", \"Rio Grande do Norte\", \"Paraíba\",\"Pernambuco\", \"Alagoas\",\"Sergipe\",\"Bahia\"),\n", " `Sudeste` = c(\"Minas Gerais\", \"Espírito Santo\",\"Rio de Janeiro\", \"São Paulo\"), \n", " `Sul` = c(\"Paraná\", \"Santa Catarina\", \"Rio Grande do Sul\"),\n", " `Centro-Oeste`= c(\"Mato Grosso do Sul\",\"Mato Grosso\", \"Goiás\", \"Distrito Federal\")))\n", "summary(pns2019.1$GrandesRegioes)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Faixa Etária" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
18 a 29 anos
15394
30 a 44 anos
26754
45 a 59 anos
23655
60 anos ou mais
22728
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 anos ou mais] 22728\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 anos ou mais\n", ": 22728NA's\n", ": 2315\n", "\n" ], "text/plain": [ " 18 a 29 anos 30 a 44 anos 45 a 59 anos 60 anos ou mais NA's \n", " 15394 26754 23655 22728 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,Inf),\n", " labels = c(\"18 a 29 anos\",\"30 a 44 anos\",\"45 a 59 anos\",\"60 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": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Branca
33133
Preta
10345
Parda
45994
NA's
1374
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Branca] 33133\n", "\\item[Preta] 10345\n", "\\item[Parda] 45994\n", "\\item[NA's] 1374\n", "\\end{description*}\n" ], "text/markdown": [ "Branca\n", ": 33133Preta\n", ": 10345Parda\n", ": 45994NA's\n", ": 1374\n", "\n" ], "text/plain": [ "Branca Preta Parda NA's \n", " 33133 10345 45994 1374 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Raça\n", "pns2019.1 <- pns2019.1 %>% mutate(Raca= ifelse(C009==1, 1, \n", " ifelse(C009==2, 2, \n", " ifelse(C009==4, 3, 9))))\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": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Até 1/2 SM
23697
1/2 até 1 SM
26406
1 até 2 SM
22466
2 até 3 SM
7612
Mais de 3 SM
10665
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Até 1/2 SM] 23697\n", "\\item[1/2 até 1 SM] 26406\n", "\\item[1 até 2 SM] 22466\n", "\\item[2 até 3 SM] 7612\n", "\\item[Mais de 3 SM] 10665\n", "\\end{description*}\n" ], "text/markdown": [ "Até 1/2 SM\n", ": 236971/2 até 1 SM\n", ": 264061 até 2 SM\n", ": 224662 até 3 SM\n", ": 7612Mais de 3 SM\n", ": 10665\n", "\n" ], "text/plain": [ " Até 1/2 SM 1/2 até 1 SM 1 até 2 SM 2 até 3 SM Mais de 3 SM \n", " 23697 26406 22466 7612 10665 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Rendimento domiciliar per capita\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(\"Até 1/2 SM\",\"1/2 até 1 SM\",\"1 até 2 SM\",\n", " \"2 até 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": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Fundamental incompleto ou equivalente
36276
Médio incompleto ou equivalente
13520
Superior incompleto ou equivalente
27433
Superior completo
13617
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[Fundamental incompleto ou equivalente] 36276\n", "\\item[Médio incompleto ou equivalente] 13520\n", "\\item[Superior incompleto ou equivalente] 27433\n", "\\item[Superior completo] 13617\n", "\\end{description*}\n" ], "text/markdown": [ "Fundamental incompleto ou equivalente\n", ": 36276Médio incompleto ou equivalente\n", ": 13520Superior incompleto ou equivalente\n", ": 27433Superior completo\n", ": 13617\n", "\n" ], "text/plain": [ "Fundamental incompleto ou equivalente Médio incompleto ou equivalente \n", " 36276 13520 \n", " Superior incompleto ou equivalente 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(\"Fundamental incompleto ou equivalente\",\"Médio incompleto ou equivalente\",\n", " \"Superior incompleto ou equivalente\",\"Superior completo\"))\n", "summary(pns2019.1$gescol)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Capital" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Porto Velho
2176
Rio Branco
2380
Manaus
3479
Boa Vista
2238
Belém
3853
Macapá
1554
Palmas
1922
São Luís
5080
Teresina
2740
Fortaleza
4265
Natal
2962
João Pessoa
3158
Recife
4083
Maceió
2987
Aracaju
2610
Salvador
3659
Belo Horizonte
5209
Vitória
3541
Rio de Janeiro
4966
São Paulo
6114
Curitiba
3967
Florianópolis
3738
Porto Alegre
3767
Campo Grande
2863
Cuiabá
2468
Goiânia
2702
Brasília
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[Belém] 3853\n", "\\item[Macapá] 1554\n", "\\item[Palmas] 1922\n", "\\item[São Luís] 5080\n", "\\item[Teresina] 2740\n", "\\item[Fortaleza] 4265\n", "\\item[Natal] 2962\n", "\\item[João Pessoa] 3158\n", "\\item[Recife] 4083\n", "\\item[Maceió] 2987\n", "\\item[Aracaju] 2610\n", "\\item[Salvador] 3659\n", "\\item[Belo Horizonte] 5209\n", "\\item[Vitória] 3541\n", "\\item[Rio de Janeiro] 4966\n", "\\item[São Paulo] 6114\n", "\\item[Curitiba] 3967\n", "\\item[Florianópolis] 3738\n", "\\item[Porto Alegre] 3767\n", "\\item[Campo Grande] 2863\n", "\\item[Cuiabá] 2468\n", "\\item[Goiânia] 2702\n", "\\item[Brasília] 2365\n", "\\end{description*}\n" ], "text/markdown": [ "Porto Velho\n", ": 2176Rio Branco\n", ": 2380Manaus\n", ": 3479Boa Vista\n", ": 2238Belém\n", ": 3853Macapá\n", ": 1554Palmas\n", ": 1922São Luís\n", ": 5080Teresina\n", ": 2740Fortaleza\n", ": 4265Natal\n", ": 2962João Pessoa\n", ": 3158Recife\n", ": 4083Maceió\n", ": 2987Aracaju\n", ": 2610Salvador\n", ": 3659Belo Horizonte\n", ": 5209Vitória\n", ": 3541Rio de Janeiro\n", ": 4966São Paulo\n", ": 6114Curitiba\n", ": 3967Florianópolis\n", ": 3738Porto Alegre\n", ": 3767Campo Grande\n", ": 2863Cuiabá\n", ": 2468Goiânia\n", ": 2702Brasília\n", ": 2365\n", "\n" ], "text/plain": [ " Porto Velho Rio Branco Manaus Boa Vista Belém \n", " 2176 2380 3479 2238 3853 \n", " Macapá Palmas São Luís Teresina Fortaleza \n", " 1554 1922 5080 2740 4265 \n", " Natal João Pessoa Recife Maceió Aracaju \n", " 2962 3158 4083 2987 2610 \n", " Salvador Belo Horizonte Vitória Rio de Janeiro São Paulo \n", " 3659 5209 3541 4966 6114 \n", " Curitiba Florianópolis Porto Alegre Campo Grande Cuiabá \n", " 3967 3738 3767 2863 2468 \n", " Goiânia Brasília \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`= \"Rondônia\", \n", " `Boa Vista`= \"Roraima\", \n", " `Rio Branco`= \"Acre\", \n", " `Manaus` = \"Amazonas\",\n", " `Belém` = \"Pará\" ,\n", " `Macapá`= \"Amapá\",\n", " `Palmas` = \"Tocantins\",\n", " `São Luís` = \"Maranhão\",\n", " `Teresina`= \"Piauí\" ,\n", " `Fortaleza`= \"Ceará\",\n", " `Natal`= \"Rio Grande do Norte\",\n", " `João Pessoa`= \"Paraíba\",\n", " `Recife`= \"Pernambuco\",\n", " `Maceió`= \"Alagoas\",\n", " `Aracaju`= \"Sergipe\",\n", " `Salvador`= \"Bahia\",\n", " `Belo Horizonte`= \"Minas Gerais\",\n", " `Vitória`= \"Espírito Santo\",\n", " `Rio de Janeiro`= \"Rio de Janeiro\",\n", " `São Paulo`= \"São Paulo\",\n", " `Curitiba`= \"Paraná\",\n", " `Florianópolis`= \"Santa Catarina\",\n", " `Porto Alegre`= \"Rio Grande do Sul\",\n", " `Campo Grande`= \"Mato Grosso do Sul\",\n", " `Cuiabá`= \"Mato Grosso\",\n", " `Goiânia` = \"Goiás\",\n", " `Brasília`= \"Distrito Federal\"))\n", "summary(pns2019.1$Capital)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Criando indicadores" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Filtrando base de indicadores" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ " V0024 UPA_PNS peso_morador_selec O002P O003P \n", " 1210010: 1167 140001681: 18 Min. : 0.00582 Sim :45832 Sim :17149 \n", " 1410011: 792 140003815: 18 1st Qu.: 0.27579 Não :38603 Não : 5254 \n", " 2710111: 779 140005777: 18 Median : 0.56358 NA's: 6411 NA's:68443 \n", " 2410011: 745 140006746: 18 Mean : 1.03597 \n", " 5010011: 738 140007081: 18 3rd Qu.: 1.16822 \n", " 3210011: 711 140007715: 18 Max. :63.29775 \n", " (Other):85914 (Other) :90738 \n", " O004P O005P O006P O007P O008P \n", " Sim :40636 Sim :11479 Sim: 2257 Sim :26396 Sim:68537 \n", " Não :15126 Não :30406 Não:88589 Não : 4973 Não:22309 \n", " NA's:35084 NA's:48961 NA's:59477 \n", " \n", " \n", " \n", " \n", " C008 C009 V0031 Sit_Urbano_Rural\n", " Min. : 15.00 Min. :1.000 Min. :1.000 urbano:69873 \n", " 1st Qu.: 32.00 1st Qu.:1.000 1st Qu.:1.000 rural :20973 \n", " Median : 45.00 Median :4.000 Median :2.000 \n", " Mean : 46.39 Mean :2.679 Mean :2.605 \n", " 3rd Qu.: 60.00 3rd Qu.:4.000 3rd Qu.:4.000 \n", " Max. :107.00 Max. :9.000 Max. :4.000 \n", " \n", " Sexo Unidades_da_Federacao GrandesRegioes \n", " Masculino:42799 São Paulo : 6114 Norte :17602 \n", " Feminino :48047 Minas Gerais : 5209 Nordeste :31544 \n", " Maranhão : 5080 Sudeste :19830 \n", " Rio de Janeiro: 4966 Sul :11472 \n", " Ceará : 4265 Centro-Oeste:10398 \n", " Pernambuco : 4083 \n", " (Other) :61129 \n", " faixa_idade Raca rend_per_capita \n", " 18 a 29 anos :15394 Branca:33133 Até 1/2 SM :23697 \n", " 30 a 44 anos :26754 Preta :10345 1/2 até 1 SM:26406 \n", " 45 a 59 anos :23655 Parda :45994 1 até 2 SM :22466 \n", " 60 anos ou mais:22728 NA's : 1374 2 até 3 SM : 7612 \n", " NA's : 2315 Mais de 3 SM:10665 \n", " \n", " \n", " gescol Capital \n", " Fundamental incompleto ou equivalente:36276 São Paulo : 6114 \n", " Médio incompleto ou equivalente :13520 Belo Horizonte: 5209 \n", " Superior incompleto ou equivalente :27433 São Luís : 5080 \n", " Superior completo :13617 Rio de Janeiro: 4966 \n", " Fortaleza : 4265 \n", " Recife : 4083 \n", " (Other) :61129 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Selecionando variáveis para cálculo de indicadores no survey\n", "pns2019Osurvey<- pns2019.1 %>% select(\"V0024\",\"UPA_PNS\",\"peso_morador_selec\", \"O002P\",\"O003P\",\"O004P\" ,\"O005P\",\"O006P\",\"O007P\",\"O008P\",\n", " \"C008\",\"C009\",\"V0031\",\"Sit_Urbano_Rural\",\"Sexo\",\"Unidades_da_Federacao\", \"GrandesRegioes\",\n", " \"faixa_idade\", \"Raca\",\"rend_per_capita\",\"gescol\",\"Capital\")\n", "summary(pns2019Osurvey)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "#Salvando csv para cálculo de indicadores no survey\n", "path <- \"../dados\"\n", "write.csv(pns2019Osurvey, file.path(path, \"pns2019Osurvey.csv\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Cria plano amostral complexo" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "desPNSO=svydesign(id=~UPA_PNS, strat=~V0024, weight=~peso_morador_selec, nest=TRUE, data=pns2019Osurvey)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "#survey design -O006P e O008P\n", "desPNSO_18=subset(desPNSO, C008>=18)\n", "desPNSO_R18=subset(desPNSO, C008>=18 & !is.na(Raca))\n", "desPNSO_C18=subset(desPNSO, C008>=18 & V0031==1)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "#survey design -O002P\n", "desPNSO002P_18=subset(desPNSO, C008>=18 & !is.na(O002P))\n", "desPNSO002P_C18=subset(desPNSO, C008>=18 & V0031==1 & !is.na(O002P))\n", "desPNSO002P_R18=subset(desPNSO, C008>=18 & !is.na(Raca) & !is.na(O002P))" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "#survey design -O003P\n", "desPNSO003P_18=subset(desPNSO, C008>=18 & !is.na(O003P))\n", "desPNSO003P_C18=subset(desPNSO, C008>=18 & V0031==1 & !is.na(O003P))\n", "desPNSO003P_R18=subset(desPNSO, C008>=18 & !is.na(Raca) & !is.na(O003P))" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "#survey design -O004P\n", "desPNSO004P_18=subset(desPNSO, C008>=18 & !is.na(O004P))\n", "desPNSO004P_C18=subset(desPNSO, C008>=18 & V0031==1 & !is.na(O004P))\n", "desPNSO004P_R18=subset(desPNSO, C008>=18 & !is.na(Raca) & !is.na(O004P))" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "#survey design -O005P\n", "desPNSO005P_18=subset(desPNSO, C008>=18 & !is.na(O005P))\n", "desPNSO005P_C18=subset(desPNSO, C008>=18 & V0031==1 & !is.na(O005P))\n", "desPNSO005P_R18=subset(desPNSO, C008>=18 & !is.na(Raca) & !is.na(O005P))" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "#survey design -O007P\n", "desPNSO007P_18=subset(desPNSO, C008>=18)\n", "desPNSO007P_R18=subset(desPNSO, C008>=18 & !is.na(Raca))\n", "desPNSO007P_C18=subset(desPNSO, 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": 23, "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": 24, "metadata": {}, "outputs": [], "source": [ "ListaIndicadores = c(~O002P,~O003P,~O004P,~O005P,~O006P,~O007P,~O008P)\n", "ListaIndicadoresTexto = c(\"O002P\",\"O003P\",\"O004P\",\"O005P\",\"O006P\",\"O007P\",\"O008P\")\n", "ListaDominios = c(~Sexo,~Raca,~rend_per_capita,~faixa_idade,~Sit_Urbano_Rural,~Unidades_da_Federacao,~GrandesRegioes,~gescol,~Capital)\n", "ListaDominiosTexto = c(\"sexo\",\"raça\",\"rend_per_capita\",\"fx_idade_acid\",\"urb_rur\",\"uf\",\"região\",\"gescol\",\"capital\")\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": 25, "metadata": {}, "outputs": [], "source": [ "#Cálculo dos indicadores usando o pacote survey \n", "i <- 0\n", "#Para cada indicador\n", "for( indicador in ListaIndicadores){\n", " i <- i + 1\n", " j <- 1\n", " #Para cada dominio\n", " for (dominio in ListaDominios){\n", " #design especifico para capital que é subconjunto do dataframe total\n", " if (ListaDominiosTexto[j]==\"capital\"){\n", " #designs especificos por variavel que são subconjuntos do dataset total\n", " if(ListaIndicadoresTexto[i] == \"O002P\"){\n", " dataframe_indicador<-svyby( indicador , dominio , desPNSO002P_C18 , svymean,vartype= c(\"ci\", \"cv\"))\n", " }else if(ListaIndicadoresTexto[i] == \"O003P\"){# cv maior do que o aceitável\n", " next\n", " }else if(ListaIndicadoresTexto[i] == \"O004P\"){\n", " dataframe_indicador<-svyby( indicador , dominio , desPNSO004P_C18 , svymean,vartype= c(\"ci\", \"cv\"))\n", " }else if(ListaIndicadoresTexto[i] == \"O005P\"){\n", " dataframe_indicador<-svyby( indicador , dominio , desPNSO005P_C18 , svymean,vartype= c(\"ci\", \"cv\"))\n", " }else {\n", " dataframe_indicador<-svyby( indicador , dominio , desPNSO_C18 , svymean,vartype= c(\"ci\", \"cv\"))\n", " }\n", " #Uso design do subconjunto para raça/cor que inclui preta,branca e parda as outras \n", " #não possuiam dados suficientes para os dominios dos indicadores\n", " }else if (ListaDominiosTexto[j]==\"raça\"){\n", " if(ListaIndicadoresTexto[i] == \"O002P\"){\n", " dataframe_indicador<-svyby( indicador , dominio , desPNSO002P_R18 , svymean,vartype= c(\"ci\", \"cv\"))\n", " }else if(ListaIndicadoresTexto[i] == \"O003P\"){\n", " dataframe_indicador<-svyby( indicador , dominio , desPNSO003P_R18 , svymean,vartype= c(\"ci\", \"cv\"))\n", " }else if(ListaIndicadoresTexto[i] == \"O004P\"){\n", " dataframe_indicador<-svyby( indicador , dominio , desPNSO004P_R18 , svymean,vartype= c(\"ci\", \"cv\"))\n", " }else if(ListaIndicadoresTexto[i] == \"O005P\"){\n", " dataframe_indicador<-svyby( indicador , dominio , desPNSO005P_R18 , svymean,vartype= c(\"ci\", \"cv\"))\n", " }else {\n", " dataframe_indicador<-svyby( indicador , dominio , desPNSO_R18 , svymean,vartype= c(\"ci\", \"cv\"))\n", " }\n", " #design geral para o subconjunto maior que 18 anos\n", " }else {\n", " if(ListaIndicadoresTexto[i] == \"O002P\"){\n", " dataframe_indicador<-svyby( indicador , dominio , desPNSO002P_18 , svymean,vartype= c(\"ci\", \"cv\"))\n", " }else if(ListaIndicadoresTexto[i] == \"O003P\"){\n", " dataframe_indicador<-svyby( indicador , dominio , desPNSO003P_18 , svymean,vartype= c(\"ci\", \"cv\"))\n", " }else if(ListaIndicadoresTexto[i] == \"O004P\"){\n", " dataframe_indicador<-svyby( indicador , dominio , desPNSO004P_18 , svymean,vartype= c(\"ci\", \"cv\"))\n", " }else if(ListaIndicadoresTexto[i] == \"O005P\"){\n", " dataframe_indicador<-svyby( indicador , dominio , desPNSO005P_18 , svymean,vartype= c(\"ci\", \"cv\"))\n", " }else {\n", " dataframe_indicador<-svyby( indicador , dominio , desPNSO_18 , svymean,vartype= c(\"ci\", \"cv\"))\n", " }\n", " }\n", " #União do dataframe de indicadores no formato do painel disponibilizado para PNS\n", " \n", " dataframe_indicador<-data.frame(dataframe_indicador)\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", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Criando a tabela pela abrangência total" ] }, { "cell_type": "code", "execution_count": 26, "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": null, "metadata": {}, "outputs": [], "source": [ "i=0\n", "#para cada indicador\n", "for(indicador in ListaIndicadores){\n", " i <- i+1\n", " #para os totais Brasil e total das capitais\n", " for(total in ListaTotais){\n", " #Uso do design que é subconjunto do dataset para cada Capital\n", " if (total == \"Capital\"){\n", " #Indicadores que são subconjunto do dataset tot\n", " if(ListaIndicadoresTexto[i] == \"O002P\"){\n", " dataframe_indicador <- svymean(indicador,desPNSO002P_C18)\n", " }else if(ListaIndicadoresTexto[i] == \"O003P\"){\n", " dataframe_indicador <- svymean(indicador,desPNSO003P_C18)\n", " }else if(ListaIndicadoresTexto[i] == \"O004P\"){\n", " dataframe_indicador <- svymean(indicador,desPNSO004P_C18)\n", " }else if(ListaIndicadoresTexto[i] == \"O005P\"){\n", " dataframe_indicador <- svymean(indicador,desPNSO005P_C18)\n", " }else {\n", " dataframe_indicador <- svymean(indicador,desPNSO_C18)\n", " }\n", " \n", " } else {\n", " if(ListaIndicadoresTexto[i] == \"O002P\"){\n", " dataframe_indicador <- svymean(indicador,desPNSO002P_18)\n", " }else if(ListaIndicadoresTexto[i] == \"O003P\"){\n", " dataframe_indicador <- svymean(indicador,desPNSO003P_18)\n", " }else if(ListaIndicadoresTexto[i] == \"O004P\"){\n", " dataframe_indicador <- svymean(indicador,desPNSO004P_18)\n", " }else if(ListaIndicadoresTexto[i] == \"O005P\"){\n", " dataframe_indicador <- svymean(indicador,desPNSO005P_18)\n", " }else {\n", " dataframe_indicador <- svymean(indicador,desPNSO_18)\n", " }\n", " }\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", " dataframe_indicador_S <- dataframe_indicador %>% \n", " slice(1)\n", " \n", " colnames(dataframe_indicador_S) <- c('Sim','LowerS','UpperS', 'cvS')\n", " dataframe_indicador_S$Indicador <- ListaIndicadoresTexto[i]\n", " print(ListaIndicadoresTexto[i])\n", " dataframe_indicador_S$abr_tipo <- \"total\"\n", " dataframe_indicador_S$abr_nome <- total\n", " dataframe_indicador_S$Ano <- Ano \n", " print(colnames(dataframe_indicador_S))\n", " dataframe_indicador_S <- dataframe_indicador_S %>% \n", " select(\"abr_tipo\",\"abr_nome\",\"Ano\",\"Indicador\",\"Sim\",\"LowerS\",\"UpperS\",'cvS')\n", " \n", " matriz_totais <-rbind(matriz_totais,dataframe_indicador_S)\n", " \n", " }\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Unindo tabela de indicadores e de totais" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "matrizIndicadores<-rbind(matrizIndicadores,matriz_totais)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Exportando tabela de indicadores" ] }, { "cell_type": "code", "execution_count": 46, "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 }