Notebook para criação de tabela de indicadores da PNS - S 2019 Pré-natal - Parte 1¶

Bibliotecas Utilizadas¶

In [ ]:
#Lendo pacotes necessários
library(survey)
library(ggplot2)
library(dplyr)
library(tictoc)
library(foreign)
library(forcats)
library(tidyverse)

Carregando microdados da PNS¶

In [26]:
#Carregando banco de dados para R versão 3.5.0 ou superior
load("<coloque aqui o caminho para o arquivo dos microdados formato RDATA PNS 2019>")

#conferindo as dimensões (número de linhas e colunas)
dim("<Coloque aqui o nome do arquivo RDATA PNS 2019>")
  1. 293726
  2. 1087

Definição do peso e filtragem de respondentes do questionário¶

In [27]:
#Selecionando registros válidos e calculando peso amostral - summary de verificação
pns2019.1<-  <Coloque aqui o nome do arquivo RDATA>  %>% filter(V0025A==1) 
pns2019.1<-pns2019.1 %>% mutate(peso_morador_selec=((V00291*(90846/168426190))))
pns2019.1<-pns2019.1 %>% filter(!is.na(peso_morador_selec))
summary(pns2019.1$peso_morador_selec)
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
 0.00562  0.26621  0.54401  1.00000  1.12765 61.09981 

Criação de variáveis dos indicadores¶

In [31]:
# Desfechos - Indicadores

# 1. Proporção de mulheres que realizaram pré-natal - S001P.
pns2019.1$S001P <- NA
pns2019.1$S001P[pns2019.1$C006==2 & pns2019.1$C008>=18 & pns2019.1$S068>0] <- 2
pns2019.1$S001P[pns2019.1$C006==2 & pns2019.1$C008>=18 & pns2019.1$S068==1] <- 1
pns2019.1$S001P<-factor(pns2019.1$S001P, levels=c(1,2), labels=c("Sim","Não"))
summary(pns2019.1$S001P)


# 2. Proporção de mulheres que realizaram pré-natal e que possuíam caderneta/cartão da gestante - S002P.
pns2019.1$S002P <- NA
pns2019.1$S002P[pns2019.1$C006==2 & pns2019.1$C008>=18 & pns2019.1$S068==1] <- 2
pns2019.1$S002P[pns2019.1$C006==2 & pns2019.1$C008>=18 & pns2019.1$S068==1 & pns2019.1$S075==1] <- 1
pns2019.1$S002P<-factor(pns2019.1$S002P, levels=c(1,2), labels=c("Sim","Não"))
summary(pns2019.1$S002P)

# 3. Proporção de mulheres que iniciaram pré-natal com menos de 13 semanas ou até 3 meses de gestação - S003P.
pns2019.1$S003P <- NA
pns2019.1$S003P[pns2019.1$C006==2 & pns2019.1$C008>=18 & pns2019.1$S068==1] <- 2
pns2019.1$S003P[pns2019.1$C006==2 & pns2019.1$C008>=18 & pns2019.1$S068==1 & (pns2019.1$S06902 <= 3 | pns2019.1$S06901 < 13)] <- 1
pns2019.1$S003P<-factor(pns2019.1$S003P, levels=c(1,2), labels=c("Sim","Não"))
summary(pns2019.1$S003P)

# 4. Proporção de mulheres que tiveram 6 ou mais consultas de pré-natal entre as gestantes com parto a termo ou pós-termo - S004P.
pns2019.1$S004P <- NA
pns2019.1$S004P[pns2019.1$C006==2 & pns2019.1$C008>=18 & pns2019.1$S068==1 & pns2019.1$S11801>=37] <- 2
pns2019.1$S004P[pns2019.1$C006==2 & pns2019.1$C008>=18 & pns2019.1$S068==1 & pns2019.1$S11801>=37 & (pns2019.1$S070>=6 & pns2019.1$S070<8)] <- 1
pns2019.1$S004P<-factor(pns2019.1$S004P, levels=c(1,2), labels=c("Sim","Não"))
summary(pns2019.1$S004P)

# 5. Proporção de mulheres que realizaram a maioria das consultas de pré-natal em estabelecimentos públicos de saúde - S005P.
pns2019.1$S005P <- NA
pns2019.1$S005P[pns2019.1$C006==2 & pns2019.1$C008>=18 & pns2019.1$S068==1] <- 2
pns2019.1$S005P[pns2019.1$C006==2 & pns2019.1$C008>=18 & pns2019.1$S068==1  & (pns2019.1$S071 <=2 | pns2019.1$S071 <=4)] <- 1
pns2019.1$S005P<-factor(pns2019.1$S005P, levels=c(1,2), labels=c("Sim","Não"))
summary(pns2019.1$S005P)
Sim
2734
Não
84
NA's
88028
Sim
2657
Não
77
NA's
88112
Sim
2356
Não
378
NA's
88112
Sim
1822
Não
251
NA's
88773
Sim
2056
Não
678
NA's
88112

Definições de abrangências¶

Situação urbana ou rural¶

In [6]:
#Situação Urbano ou Rural
pns2019.1 <- pns2019.1 %>% rename(Sit_Urbano_Rural=V0026)
pns2019.1$Sit_Urbano_Rural<-factor(pns2019.1$Sit_Urbano_Rural, levels=c(1,2), labels=c("urbano", "rural"))
summary(pns2019.1$Sit_Urbano_Rural)
urbano
69873
rural
20973

UF¶

In [7]:
#Estados - UFs
pns2019.1 <- pns2019.1 %>% rename(Unidades_da_Federacao=V0001)
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),
                                       label=c("Rondônia","Acre","Amazonas","Roraima","Pará","Amapá","Tocantins","Maranhão","Piauí","Ceará",
                                        "Rio Grande do Norte","Paraíba","Pernambuco","Alagoas","Sergipe","Bahia",
                                        "Minas Gerais","Espírito Santo","Rio de Janeiro","São Paulo",
                                        "Paraná","Santa Catarina","Rio Grande do Sul", 
                                        "Mato Grosso do Sul","Mato Grosso","Goiás","Distrito Federal"))
summary(pns2019.1$Unidades_da_Federacao)
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

Grandes Regiões¶

In [8]:
#Grandes Regiões
pns2019.1 <- pns2019.1 %>% 
  mutate(GrandesRegioes = fct_collapse(Unidades_da_Federacao, 
                                          `Norte` = c("Rondônia","Acre","Amazonas","Roraima","Pará", "Amapá","Tocantins"),
                                          `Nordeste` = c("Maranhão", "Piauí", "Ceará", "Rio Grande do Norte", "Paraíba","Pernambuco", "Alagoas","Sergipe","Bahia"),
                                          `Sudeste` = c("Minas Gerais", "Espírito Santo","Rio de Janeiro", "São Paulo"), 
                                          `Sul` = c("Paraná", "Santa Catarina", "Rio Grande do Sul"),
                                          `Centro-Oeste`= c("Mato Grosso do Sul","Mato Grosso", "Goiás", "Distrito Federal")))
summary(pns2019.1$GrandesRegioes)
Norte
17602
Nordeste
31544
Sudeste
19830
Sul
11472
Centro-Oeste
10398

Capital¶

In [9]:
#Capital
pns2019.1<- pns2019.1 %>% mutate(Capital= fct_collapse(Unidades_da_Federacao,
                                        `Porto Velho`= "Rondônia", 
                                        `Boa Vista`= "Roraima",              
                                        `Rio Branco`= "Acre", 
                                        `Manaus` = "Amazonas",
                                        `Belém` = "Pará" ,
                                        `Macapá`= "Amapá",
                                        `Palmas` = "Tocantins",
                                        `São Luís` = "Maranhão",
                                        `Teresina`= "Piauí" ,
                                        `Fortaleza`= "Ceará",
                                        `Natal`= "Rio Grande do Norte",
                                        `João Pessoa`= "Paraíba",
                                        `Recife`= "Pernambuco",
                                        `Maceió`= "Alagoas",
                                        `Aracaju`= "Sergipe",
                                        `Salvador`= "Bahia",
                                        `Belo Horizonte`= "Minas Gerais",
                                        `Vitória`= "Espírito Santo",
                                        `Rio de Janeiro`= "Rio de Janeiro",
                                        `São Paulo`= "São Paulo",
                                        `Curitiba`= "Paraná",
                                        `Florianópolis`= "Santa Catarina",
                                        `Porto Alegre`= "Rio Grande do Sul",
                                        `Campo Grande`=  "Mato Grosso do Sul",
                                        `Cuiabá`= "Mato Grosso",
                                        `Goiânia` = "Goiás",
                                        `Brasília`= "Distrito Federal"))
summary(pns2019.1$Capital)
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

Faixa Etária¶

In [10]:
#Faixas Etárias
pns2019.1 <- pns2019.1 %>% mutate(fx_idade_S=cut(C008,
  breaks = c(18,25,30,40,120),
  labels = c("18 a 24 anos", "25 a 29 anos", "30 a 39 anos", "40 anos ou mais"), 
  ordered_result = TRUE, right = FALSE))
summary(pns2019.1$fx_idade_S)
18 a 24 anos
8145
25 a 29 anos
7249
30 a 39 anos
18150
40 anos ou mais
54987
NA's
2315

Raça¶

In [11]:
#Raça
pns2019.1 <- pns2019.1 %>% mutate(Raca= ifelse(C009==1, 1, 
                        ifelse(C009==2, 2, 
                            ifelse(C009==4, 3, 9))))

pns2019.1$Raca<-factor(pns2019.1$Raca, levels=c(1,2,3),labels=c("Branca", "Preta", "Parda"))

summary(pns2019.1$Raca)
Branca
33133
Preta
10345
Parda
45994
NA's
1374

Renda per capita¶

In [12]:
#Rendimento domiciliar per capita
pns2019.1 <- pns2019.1 %>% mutate(rend_per_capita = ifelse(VDF004 %in% 1:2, 1, 
                        ifelse(VDF004%in% 3, 2, 
                        ifelse(VDF004%in% 4, 3,
                        ifelse(VDF004%in% 5, 4, 
                        ifelse(is.na(VDF004)==TRUE, NA_real_, 5))))))

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",
                                                                                   "2 até 3 SM","Mais de 3 SM"))
summary(pns2019.1$rend_per_capita)
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
10643
NA's
22

Escolaridade¶

In [13]:
# Escolaridade
pns2019.1 <- pns2019.1 %>% mutate(gescol = ifelse(VDD004A %in% 1:2, 1, 
                        ifelse(VDD004A%in% 3:4, 2, 
                        ifelse(VDD004A%in% 5:6, 3,4
                        ))))

pns2019.1$gescol<-factor(pns2019.1$gescol, levels=c(1,2,3,4), 
                                  labels=c("Fundamental incompleto ou equivalente","Médio incompleto ou equivalente",
                                           "Superior incompleto ou equivalente","Superior completo"))
summary(pns2019.1$gescol)
Fundamental incompleto ou equivalente
36276
Médio incompleto ou equivalente
13520
Superior incompleto ou equivalente
27433
Superior completo
13617

Criando indicadores¶

Filtrando base de indicadores¶

In [14]:
#Selecionando variáveis para cálculo de indicadores no survey
pns2019Ssurvey<- pns2019.1 %>% select("V0024","UPA_PNS","peso_morador_selec", "S001P", "S002P", "S003P",
       "S004P", "S005P", "C008", "C006", "C009", "S068", "S11801", "S118",
       "V0031", "Sit_Urbano_Rural", "Unidades_da_Federacao",
       "GrandesRegioes",  "Capital", "fx_idade_S", "Raca",
       "rend_per_capita", "gescol") #"Sexo", 
summary(pns2019Ssurvey)
     V0024            UPA_PNS      peso_morador_selec  S001P        S002P      
 1210010: 1167   140001681:   18   Min.   : 0.00562   Sim : 2734   Sim : 2657  
 1410011:  792   140003815:   18   1st Qu.: 0.26621   Não :   84   Não :   77  
 2710111:  779   140005777:   18   Median : 0.54401   NA's:88028   NA's:88112  
 2410011:  745   140006746:   18   Mean   : 1.00000                            
 5010011:  738   140007081:   18   3rd Qu.: 1.12765                            
 3210011:  711   140007715:   18   Max.   :61.09981                            
 (Other):85914   (Other)  :90738                                               
  S003P        S004P        S005P            C008             C006      
 Sim : 2356   Sim : 2073   Sim : 2056   Min.   : 15.00   Min.   :1.000  
 Não :  378   Não :  661   Não :  678   1st Qu.: 32.00   1st Qu.:1.000  
 NA's:88112   NA's:88112   NA's:88112   Median : 45.00   Median :2.000  
                                        Mean   : 46.39   Mean   :1.529  
                                        3rd Qu.: 60.00   3rd Qu.:2.000  
                                        Max.   :107.00   Max.   :2.000  
                                                                        
      C009            S068           S11801           S118      
 Min.   :1.000   Min.   :1.00    Min.   : 2.00   Min.   :1.0    
 1st Qu.:1.000   1st Qu.:1.00    1st Qu.:38.00   1st Qu.:1.0    
 Median :4.000   Median :1.00    Median :39.00   Median :1.0    
 Mean   :2.679   Mean   :1.03    Mean   :38.16   Mean   :1.1    
 3rd Qu.:4.000   3rd Qu.:1.00    3rd Qu.:40.00   3rd Qu.:1.0    
 Max.   :9.000   Max.   :2.00    Max.   :43.00   Max.   :2.0    
                 NA's   :87936   NA's   :88227   NA's   :87936  
     V0031       Sit_Urbano_Rural    Unidades_da_Federacao      GrandesRegioes 
 Min.   :1.000   urbano:69873     São Paulo     : 6114     Norte       :17602  
 1st Qu.:1.000   rural :20973     Minas Gerais  : 5209     Nordeste    :31544  
 Median :2.000                    Maranhão      : 5080     Sudeste     :19830  
 Mean   :2.605                    Rio de Janeiro: 4966     Sul         :11472  
 3rd Qu.:4.000                    Ceará         : 4265     Centro-Oeste:10398  
 Max.   :4.000                    Pernambuco    : 4083                         
                                  (Other)       :61129                         
           Capital                fx_idade_S        Raca      
 São Paulo     : 6114   18 a 24 anos   : 8145   Branca:33133  
 Belo Horizonte: 5209   25 a 29 anos   : 7249   Preta :10345  
 São Luís      : 5080   30 a 39 anos   :18150   Parda :45994  
 Rio de Janeiro: 4966   40 anos ou mais:54987   NA's  : 1374  
 Fortaleza     : 4265   NA's           : 2315                 
 Recife        : 4083                                         
 (Other)       :61129                                         
     rend_per_capita                                    gescol     
 Até 1/2 SM  :23697   Fundamental incompleto ou equivalente:36276  
 1/2 até 1 SM:26406   Médio incompleto ou equivalente      :13520  
 1 até 2 SM  :22466   Superior incompleto ou equivalente   :27433  
 2 até 3 SM  : 7612   Superior completo                    :13617  
 Mais de 3 SM:10643                                                
 NA's        :   22                                                
                                                                   

Exporta tabela filtrada com os dados específicos - Módulo S 2019 - Parte 1¶

In [15]:
#Salvando csv para cálculo de indicadores no survey
diretorio_saida <- "<coloque aqui o diretório>"
write.csv(pns2019Ssurvey, file.path(diretorio_saida, "pns2019Ssurvey.csv"))

Cria plano amostral complexo¶

In [16]:
desPNS=svydesign(id=~UPA_PNS, strat=~V0024, weight=~peso_morador_selec, nest=TRUE, 
                 data=pns2019Ssurvey)
In [17]:
#survey design S001P
desPNSS001P=subset(desPNS, C006==2 & C008>=18 & S068>0)
desPNSS001P_C=subset(desPNS, C006==2 & C008>=18 & S068>0 & V0031==1)
desPNSS001P_R=subset(desPNS, C006==2 & C008>=18 & S068>0 & !is.na(Raca))
In [18]:
#survey design S002P, S003P, S005P
desPNSS002P=subset(desPNS, C006==2 & C008>=18 & S068==1)
desPNSS002P_C=subset(desPNS, C006==2 & C008>=18 & S068==1 & V0031==1)
desPNSS002P_R=subset(desPNS, C006==2 & C008>=18 & S068==1 & !is.na(Raca))
In [19]:
#survey design S004P
desPNSS004P=subset(desPNS, C006==2 & C008>=18 & (S068==1 & S11801>=37))
desPNSS004P_C=subset(desPNS, C006==2 & C008>=18 & (S068==1 & S11801>=37) & V0031==1) 
desPNSS004P_R=subset(desPNS, C006==2 & C008>=18 & (S068==1 & S11801>=37) & !is.na(Raca))

Criação da tabela de indicadores¶

Essa tabela é responsável por unir os indicadores no formato do painel de indicadores

In [20]:
matrizIndicadores = data.frame()

Definição de variáveis para iteração dos indicadores¶

In [21]:
ListaIndicadores = c(~S001P, ~S002P, ~S003P, ~S004P, ~S005P)
ListaIndicadoresTexto = c("S001P", "S002P", "S003P", "S004P", "S005P" )
ListaTotais = c('Brasil','Capital')
Ano <- "2019"
In [22]:
ListaDominiosS001 = c(~Raca,~rend_per_capita,~fx_idade_S,~Sit_Urbano_Rural,
                      ~Unidades_da_Federacao,~GrandesRegioes,~Capital,
                      ~gescol)
ListaDominiosTextoS001= c("raça","rend_per_capita","fx_idade_S","urb_rur",
                          "uf","região","capital","gescol")

Preenchendo a tabela de indicadores¶

Essas iterações rodam por indicador, abrangência e por design

In [23]:
#Cálculo dos indicadores usando o pacote survey 
i <- 0
#Para cada indicador
for( indicador in ListaIndicadores){
    i <- i + 1; j <- 1
    if (ListaIndicadoresTexto[i]== "S001P" | 
        ListaIndicadoresTexto[i]== "S002P" | 
        ListaIndicadoresTexto[i]== "S003P" | 
        ListaIndicadoresTexto[i]== "S004P" | 
        ListaIndicadoresTexto[i]== "S005P"){
        ListaDominios<-ListaDominiosS001
        ListaDominiosTexto<-ListaDominiosTextoS001
        } else {
                    ListaDominios<-ListaDominiosS001
ListaDominiosTexto<-ListaDominiosTextoS001
                }
    #Para cada dominio
    for (dominio in ListaDominios){
#design especifico para capital que é subconjunto do dataframe total
         if (ListaDominiosTexto[j]=="capital"){
#designs especificos por variavel que são subconjuntos do dataset total
            if (ListaIndicadoresTexto[i]== "S002P" |
                ListaIndicadoresTexto[i]== "S003P" |
                ListaIndicadoresTexto[i]== "S005P"){
              dataframe_indicador<-svyby( indicador , dominio , desPNSS002P_C , svymean,vartype= c("ci","cv")) 
              } else if (ListaIndicadoresTexto[i]== "S001P") {
                  dataframe_indicador<-svyby( indicador , dominio , desPNSS001P_C , svymean,vartype= c("ci","cv"))
                 } else if (ListaIndicadoresTexto[i]== "S004P") {
                    dataframe_indicador<-svyby( indicador , dominio , desPNSS004P_C, svymean,vartype= c("ci","cv"))
                        }
               } else if  (ListaDominiosTexto[j]=="raça"){
                    if (ListaIndicadoresTexto[i]== "S002P" |
                        ListaIndicadoresTexto[i]== "S003P" |
                        ListaIndicadoresTexto[i]== "S005P"){
                            dataframe_indicador<-svyby( indicador , dominio , desPNSS002P_R , svymean,vartype= c("ci","cv"))
                        } else if
(ListaIndicadoresTexto[i]== "S001P"){
                            dataframe_indicador<-svyby( indicador , dominio , desPNSS001P_R , svymean,vartype= c("ci","cv"))
                        } else if
(ListaIndicadoresTexto[i]== "S004P"){
                            dataframe_indicador<-svyby( indicador , dominio , desPNSS004P_R , svymean,vartype= c("ci","cv"))
                        }
               #design geral para o subconjunto maior que 15 anos
                 } else { 
                        if (ListaIndicadoresTexto[i]== "S002P" |
                            ListaIndicadoresTexto[i]== "S003P" |
                            ListaIndicadoresTexto[i]== "S005P"){
                                dataframe_indicador<-svyby( indicador , dominio , desPNSS002P , svymean,vartype= c("ci","cv"))
                            } else if
(ListaIndicadoresTexto[i]== "S001P"){
                            dataframe_indicador<-svyby( indicador , dominio , desPNSS001P , svymean,vartype= c("ci","cv"))
                        } else if
(ListaIndicadoresTexto[i]== "S004P")
                     {
                                dataframe_indicador<-svyby( indicador , dominio , desPNSS004P , svymean,vartype= c("ci","cv"))
                            }
                        }
#União do dataframe de indicadores no formato do painel disponibilizado para PNS
dataframe_indicador<-data.frame(dataframe_indicador)
               colnames(dataframe_indicador) <- c("abr_nome","Sim","Nao","LowerS","LowerN","UpperS","UpperN","cvS","cvN")
               dataframe_indicador$Indicador <- ListaIndicadoresTexto[i]
               dataframe_indicador$abr_tipo <- ListaDominiosTexto[j]
               dataframe_indicador$Ano <- Ano
               dataframe_indicador <- dataframe_indicador %>% select("abr_tipo","abr_nome","Ano","Indicador","Sim","LowerS","UpperS","cvS")
               matrizIndicadores <-rbind(matrizIndicadores,dataframe_indicador)
               j <- j + 1
    }
}

Criando a tabela pela abrangência total¶

In [24]:
matriz_totais <- data.frame()

Preenchendo a tabela com as abrangencia Brasil e total das capitais¶

In [25]:
i <- 0
#para cada indicador
for(indicador in ListaIndicadores){
    i <- i + 1
    #para os totais Brasil e total das capitais
    for(total in ListaTotais){
        dataframe_indicador <- data.frame()
        dataframe_indicador_S <- data.frame()
        #Uso do design que é subconjunto do dataset para cada Capital
        if (total == "Capital"){
                #Indicadores que são subconjunto do dataset total
                if (ListaIndicadoresTexto[i]== "S002P" |
                    ListaIndicadoresTexto[i]== "S003P" |
                    ListaIndicadoresTexto[i]== "S005P"){
                            dataframe_indicador <- svymean(indicador,desPNSS002P_C)
                        } else if
(ListaIndicadoresTexto[i]== "S001P"){
                            dataframe_indicador <- svymean(indicador,desPNSS001P_C)
                        } else if
(ListaIndicadoresTexto[i]== "S004P"){
                            dataframe_indicador <- svymean(indicador,desPNSS004P_C)
                    }
                } else {
                if (ListaIndicadoresTexto[i]== "S002P" |
                    ListaIndicadoresTexto[i]== "S003P" |
                    ListaIndicadoresTexto[i]== "S005P"){
                            dataframe_indicador <- svymean(indicador,desPNSS002P)
                        } else if (ListaIndicadoresTexto[i]== "S001P"){
                            dataframe_indicador <- svymean(indicador,desPNSS001P)
                        } else if
(ListaIndicadoresTexto[i]== "S004P"){
                            dataframe_indicador <- svymean(indicador,desPNSS004P)
                    }
                }
        intervalo_confianca <- confint(dataframe_indicador)
        coeficiente_variacao <- cv(dataframe_indicador)
        dataframe_indicador <- cbind(data.frame(dataframe_indicador),data.frame(intervalo_confianca))
        dataframe_indicador <- cbind(data.frame(dataframe_indicador),data.frame(coeficiente_variacao))
        
        dataframe_indicador <- dataframe_indicador %>% 
                               select('mean','X2.5..','X97.5..',coeficiente_variacao) 
        dataframe_indicador_S <- dataframe_indicador %>% 
                                 slice(1)
                
        colnames(dataframe_indicador_S) <- c('Sim','LowerS','UpperS', 'cvS')
        dataframe_indicador_S$Indicador <- ListaIndicadoresTexto[i]
        
        dataframe_indicador_S$abr_tipo <- "total"
        dataframe_indicador_S$abr_nome <- total
        dataframe_indicador_S$Ano <- Ano 
        dataframe_indicador_S <- dataframe_indicador_S %>% 
                             select("abr_tipo","abr_nome","Ano","Indicador","Sim","LowerS","UpperS",'cvS')
        
        matriz_totais <-rbind(matriz_totais,dataframe_indicador_S)
    }
}
In [26]:
matriz_totais
A data.frame: 10 × 8
abr_tipoabr_nomeAnoIndicadorSimLowerSUpperScvS
<chr><chr><chr><chr><dbl><dbl><dbl><dbl>
S001PSimtotalBrasil 2019S001P0.98021810.97358000.98685620.003455195
S001PSim1totalCapital2019S001P0.98064960.97210020.98919900.004448070
S002PSimtotalBrasil 2019S002P0.96240120.94926200.97554040.006965703
S002PSim1totalCapital2019S002P0.93414460.90502840.96326090.015902776
S003PSimtotalBrasil 2019S003P0.88149290.86308160.89990410.010656560
S003PSim1totalCapital2019S003P0.88980810.85474620.92487010.020104431
S004PSimtotalBrasil 2019S004P0.89392330.87486690.91297970.010876579
S004PSim1totalCapital2019S004P0.90867370.87852550.93882180.016927946
S005PSimtotalBrasil 2019S005P0.67126860.63830400.70423330.025055548
S005PSim1totalCapital2019S005P0.54676010.49247810.60104200.050653646

Unindo tabela de indicadores e de totais¶

In [27]:
matrizIndicadores<-rbind(matrizIndicadores,matriz_totais)

Visualizando tabela de indicadores¶

In [28]:
matrizIndicadores
A data.frame: 395 × 8
abr_tipoabr_nomeAnoIndicadorSimLowerSUpperScvS
<chr><fct><chr><chr><dbl><dbl><dbl><dbl>
Brancaraça Branca 2019S001P0.98483420.97280090.99686756.234103e-03
Pretaraça Preta 2019S001P0.97062140.94969670.99154621.099923e-02
Pardaraça Parda 2019S001P0.98028930.97184360.98873504.395738e-03
Até 1/2 SMrend_per_capitaAté 1/2 SM 2019S001P0.97486960.96346490.98627435.968842e-03
1/2 até 1 SMrend_per_capita1/2 até 1 SM 2019S001P0.98090000.96913230.99266766.120930e-03
1 até 2 SMrend_per_capita1 até 2 SM 2019S001P0.99000640.97982801.00018475.245551e-03
2 até 3 SMrend_per_capita2 até 3 SM 2019S001P0.98747880.96846891.00648889.822109e-03
Mais de 3 SMrend_per_capitaMais de 3 SM 2019S001P0.98505700.95599671.01411731.505188e-02
18 a 24 anosfx_idade_S 18 a 24 anos 2019S001P0.97800030.96364300.99235777.490081e-03
25 a 29 anosfx_idade_S 25 a 29 anos 2019S001P0.97613190.95996600.99229798.449762e-03
30 a 39 anosfx_idade_S 30 a 39 anos 2019S001P0.98726480.98013660.99439313.683855e-03
40 anos ou maisfx_idade_S 40 anos ou mais 2019S001P0.95848020.92861910.98834141.589556e-02
urbanourb_rur urbano 2019S001P0.98226300.97527680.98924923.628817e-03
ruralurb_rur rural 2019S001P0.96903090.94952190.98853991.027184e-02
Rondôniauf Rondônia 2019S001P0.99224320.98135131.00313515.600634e-03
Acreuf Acre 2019S001P0.94009310.87400581.00618043.586734e-02
Amazonasuf Amazonas 2019S001P0.94716380.90975900.98456862.014902e-02
Roraimauf Roraima 2019S001P0.93816250.87784330.99848183.280420e-02
Paráuf Pará 2019S001P0.97537710.95110060.99965351.269886e-02
Amapáuf Amapá 2019S001P0.93827930.86747071.00908803.850401e-02
Tocantinsuf Tocantins 2019S001P1.00000001.00000001.00000000.000000e+00
Maranhãouf Maranhão 2019S001P0.98820020.97746060.99893995.544946e-03
Piauíuf Piauí 2019S001P1.00000001.00000001.00000000.000000e+00
Cearáuf Ceará 2019S001P0.99085780.97300031.00871549.195250e-03
Rio Grande do Norteuf Rio Grande do Norte2019S001P0.95994200.92830550.99157851.681495e-02
Paraíbauf Paraíba 2019S001P0.92597560.85496510.99698623.912687e-02
Pernambucouf Pernambuco 2019S001P0.96536980.92898151.00175821.923183e-02
Alagoasuf Alagoas 2019S001P0.96419400.93053570.99785231.781065e-02
Sergipeuf Sergipe 2019S001P1.00000001.00000001.00000001.782482e-17
Bahiauf Bahia 2019S001P0.99565940.98713761.00418124.366894e-03
⋮⋮⋮⋮⋮⋮⋮⋮⋮
João Pessoa4capitalJoão Pessoa 2019S005P0.48910240.313337730.66486700.183351143
Recife4capitalRecife 2019S005P0.61540320.359466560.87133980.212189839
Maceió4capitalMaceió 2019S005P0.67702750.539956470.81409860.103297871
Aracaju4capitalAracaju 2019S005P0.53896700.281519700.79641430.243712643
Salvador4capitalSalvador 2019S005P0.53064420.266075860.79521260.254381995
Belo Horizonte4capitalBelo Horizonte 2019S005P0.37414570.202693720.54559760.233804895
Vitória4capitalVitória 2019S005P0.48521180.201012290.76941130.298843552
Rio de Janeiro9capitalRio de Janeiro 2019S005P0.50615340.274853240.73745350.233155491
São Paulo8capitalSão Paulo 2019S005P0.39258470.214721690.57044770.231155467
Curitiba4capitalCuritiba 2019S005P0.26203240.031011290.49305340.449830155
Florianópolis4capitalFlorianópolis 2019S005P0.57731660.315138850.83949440.231704095
Porto Alegre4capitalPorto Alegre 2019S005P0.40388610.171450330.63632180.293626959
Campo Grande4capitalCampo Grande 2019S005P0.64916800.506509670.79182620.112122258
Cuiabá4capitalCuiabá 2019S005P0.62687270.372789250.88095620.206799253
Goiânia4capitalGoiânia 2019S005P0.57278470.326294930.81927450.219563127
Brasília4capitalBrasília 2019S005P0.63201220.472979550.79104480.128384529
Fundamental incompleto ou equivalente4gescol Fundamental incompleto ou equivalente2019S005P0.91249380.872719150.95226850.022239685
Médio incompleto ou equivalente4gescol Médio incompleto ou equivalente 2019S005P0.90123960.854829240.94765000.026274048
Superior incompleto ou equivalente4gescol Superior incompleto ou equivalente 2019S005P0.68020390.632501290.72790640.035781180
Superior completo4gescol Superior completo 2019S005P0.20323870.148031430.25844590.138593119
S001PSimtotal Brasil 2019S001P0.98021810.973579970.98685620.003455195
S001PSim1total Capital 2019S001P0.98064960.972100240.98919900.004448070
S002PSimtotal Brasil 2019S002P0.96240120.949261980.97554040.006965703
S002PSim1total Capital 2019S002P0.93414460.905028410.96326090.015902776
S003PSimtotal Brasil 2019S003P0.88149290.863081590.89990410.010656560
S003PSim1total Capital 2019S003P0.88980810.854746180.92487010.020104431
S004PSimtotal Brasil 2019S004P0.89392330.874866870.91297970.010876579
S004PSim1total Capital 2019S004P0.90867370.878525540.93882180.016927946
S005PSimtotal Brasil 2019S005P0.67126860.638303970.70423330.025055548
S005PSim1total Capital 2019S005P0.54676010.492478100.60104200.050653646

Exportando tabela de indicadores calculados - Módulo S 2019¶

In [30]:
diretorio_saida <- "<coloque aqui o diretório>"
write.table(matrizIndicadores,file=paste0(diretorio_saida,"Indicadores_2019S_R.csv"),sep = ";",dec = ",",row.names = FALSE)