O objetivo deste tutorial é realizar comparações entre os registros de óbitos e as projeções desse componente. Nesse caso trabalha-se com o nível geográfico UF.
Carregue o pacote “microdatasus” e outros bibliotecas a serem usadas:
library(microdatasus)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(readxl)
library(writexl)
library(zoo)
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
library(ggplot2)
library(tidyr)
Acesse os microdados de óbitos especificando o período de análise e a UF a ser estudada:
dados_sim <- fetch_datasus(year_start = 2000,
year_end = 2021,
uf = "DF",
information_system = "SIM-DO")
## Your local Internet connection seems to be ok.
## DataSUS FTP server seems to be up. Starting download...
Processe os dados do SIM criando variáveis com a função process_sim
dados_sim <- process_sim(dados_sim)
Crie a variável de faixa etária:
dados_sim$infantil <- 1*(!is.na(dados_sim$IDADEminutos) |
!is.na(dados_sim$IDADEhoras)|
!is.na(dados_sim$IDADEdias)|
!is.na(dados_sim$IDADEmeses))
dados_sim$IDADEanos[which(dados_sim$infantil==1)]<-0
dados_sim<- dados_sim %>% mutate(
obt = 1,
ano = as.numeric(substr(DTOBITO,1,4)),
ano_nasc = as.numeric(substr(DTNASC,1,4)),
IDADEanos = as.numeric(IDADEanos),
faixa_idade = cut(IDADEanos,c(-Inf,0,4,9,14,19,24,29,34,39,
44,49,54,59,64,69,74,79,84,Inf),
labels = c("_menor que 1 ano",
"01 a 04 anos",
"05 a 09 anos",
"10 a 14 anos",
"15 a 19 anos",
"20 a 24 anos",
"25 a 29 anos",
"30 a 34 anos",
"35 a 39 anos",
"40 a 44 anos",
"45 a 49 anos",
"50 a 54 anos",
"55 a 59 anos",
"60 a 64 anos",
"65 a 69 anos",
"70 a 74 anos",
"75 a 79 anos",
"80 a 84 anos",
"85 anos ou mais")))
Lendo os dados das projeções populacionais especialmente da Unidade da Federação escolhida. O arquivo auxiliar está disponível aqui. Para todas as UFs, o arquivo do IBGE pode ser acessado aqui.
proj_ibge<- read_excel("indicadores_projecoes_DF_IBGE.xlsx")
proj_ibge<-ts(proj_ibge,start = 2010,frequency = 1)
proj_ibge<-window(proj_ibge,start = 2010,end=2030,frequency = 1)
Sintetize um total de óbitos para a Unidade da Federação escolhida:
# total de óbitos para DF
aggregate(data=dados_sim,obt~ano, FUN= sum) # problema identificado com criação de NA em 2000
## ano obt
## 1 2000 8563
## 2 2001 8760
## 3 2002 9066
## 4 2003 9095
## 5 2004 9609
## 6 2005 9425
## 7 2006 9513
## 8 2007 9866
## 9 2008 10284
## 10 2009 10459
## 11 2010 10851
## 12 2011 11253
## 13 2012 11308
## 14 2013 11408
## 15 2014 12018
## 16 2015 11975
## 17 2016 12050
## 18 2017 12514
## 19 2018 12157
## 20 2019 12804
## 21 2020 16218
## 22 2021 19079
# correção dos NA presente na dados_sim de 2000
dados_sim$ano[which(is.na(dados_sim$ano))]<-2000
# total de óbitos para DF
aggregate(data=dados_sim,obt~ano, FUN= sum) # ok com http://tabnet.datasus.gov.br/cgi/tabcgi.exe?sim/cnv/obt10df.def
## ano obt
## 1 2000 8572
## 2 2001 8760
## 3 2002 9066
## 4 2003 9095
## 5 2004 9609
## 6 2005 9425
## 7 2006 9513
## 8 2007 9866
## 9 2008 10284
## 10 2009 10459
## 11 2010 10851
## 12 2011 11253
## 13 2012 11308
## 14 2013 11408
## 15 2014 12018
## 16 2015 11975
## 17 2016 12050
## 18 2017 12514
## 19 2018 12157
## 20 2019 12804
## 21 2020 16218
## 22 2021 19079
Organize uma table com o total de óbitos por sexo para a UF escolhida:
# tabela 1 - total de obitos e por sexo
tab1 <-dados_sim %>%
group_by(ano) %>%
summarise(obt = n())
tab1a<-dados_sim %>%
filter(SEXO=="Masculino")%>%
group_by(ano) %>%
summarise(obt_masc = n())
tabela1<-merge(tab1,tab1a,by="ano")
rm(tab1,tab1a)
tab1b<-dados_sim %>%
filter(SEXO=="Feminino")%>%
group_by(ano) %>%
summarise(obt_fem = n())
tabela1<-merge(tabela1,tab1b,by="ano")
rm(tab1b)
# ajuste com NA
tabela1$obt_masc_ajust<-round(tabela1$obt_masc/(tabela1$obt_masc+tabela1$obt_fem)*tabela1$obt)
tabela1$obt_fem_ajust<-round(tabela1$obt_fem/(tabela1$obt_masc+tabela1$obt_fem)*tabela1$obt)
# verifica se a soma é verdadeira
tabela1$obt_fem_ajust+tabela1$obt_masc_ajust==tabela1$obt
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE
tabela1
## ano obt obt_masc obt_fem obt_masc_ajust obt_fem_ajust
## 1 2000 8572 5140 3423 5145 3427
## 2 2001 8760 5226 3532 5227 3533
## 3 2002 9066 5381 3685 5381 3685
## 4 2003 9095 5474 3616 5477 3618
## 5 2004 9609 5666 3937 5670 3939
## 6 2005 9425 5564 3856 5567 3858
## 7 2006 9513 5515 3996 5516 3997
## 8 2007 9866 5716 4150 5716 4150
## 9 2008 10284 5984 4298 5985 4299
## 10 2009 10459 6125 4332 6126 4333
## 11 2010 10851 6306 4545 6306 4545
## 12 2011 11253 6530 4722 6531 4722
## 13 2012 11308 6570 4733 6573 4735
## 14 2013 11408 6479 4928 6480 4928
## 15 2014 12018 6856 5162 6856 5162
## 16 2015 11975 6708 5262 6711 5264
## 17 2016 12050 6777 5273 6777 5273
## 18 2017 12514 6887 5625 6888 5626
## 19 2018 12157 6688 5467 6689 5468
## 20 2019 12804 7030 5773 7031 5773
## 21 2020 16218 9162 7055 9163 7055
## 22 2021 19079 10612 8462 10615 8464
# exportando tabelas
write_xlsx(tabela1,"Tabela 1a - Total de obitos.xlsx")
Suavizando os dados com uma média móvel e plotando um gráfico:
# produzir gráfico
tabela1<-ts(tabela1,start = 2000,frequency = 1)
library(zoo)
tabela1m<-rollmean(x = tabela1,k = 3)
tabela1m
## Time Series:
## Start = 2001
## End = 2020
## Frequency = 1
## ano obt obt_masc obt_fem obt_masc_ajust obt_fem_ajust
## 2001 2001 8799.333 5249.000 3546.667 5251.000 3548.333
## 2002 2002 8973.667 5360.333 3611.000 5361.667 3612.000
## 2003 2003 9256.667 5507.000 3746.000 5509.333 3747.333
## 2004 2004 9376.333 5568.000 3803.000 5571.333 3805.000
## 2005 2005 9515.667 5581.667 3929.667 5584.333 3931.333
## 2006 2006 9601.333 5598.333 4000.667 5599.667 4001.667
## 2007 2007 9887.667 5738.333 4148.000 5739.000 4148.667
## 2008 2008 10203.000 5941.667 4260.000 5942.333 4260.667
## 2009 2009 10531.333 6138.333 4391.667 6139.000 4392.333
## 2010 2010 10854.333 6320.333 4533.000 6321.000 4533.333
## 2011 2011 11137.333 6468.667 4666.667 6470.000 4667.333
## 2012 2012 11323.000 6526.333 4794.333 6528.000 4795.000
## 2013 2013 11578.000 6635.000 4941.000 6636.333 4941.667
## 2014 2014 11800.333 6681.000 5117.333 6682.333 5118.000
## 2015 2015 12014.333 6780.333 5232.333 6781.333 5233.000
## 2016 2016 12179.667 6790.667 5386.667 6792.000 5387.667
## 2017 2017 12240.333 6784.000 5455.000 6784.667 5455.667
## 2018 2018 12491.667 6868.333 5621.667 6869.333 5622.333
## 2019 2019 13726.333 7626.667 6098.333 7627.667 6098.667
## 2020 2020 16033.667 8934.667 7096.667 8936.333 7097.333
write_xlsx(as.data.frame(tabela1m),"Tabela 1b - Total de obitos com ma.xlsx")
ggplot(as.data.frame(tabela1m), aes(x=ano, y=obt)) +
geom_line( color="steelblue") +
geom_point() +
xlab("Ano")+
ylab("Obitos")+
ggtitle("Total de obitos - DF - 2000-2020 ")
Como você descreveria essa trajetória?
Com os dados das Projeções Populacionais, qual o total de óbitos projetado até 2030?
ggplot(as.data.frame(proj_ibge), aes(x=ano, y=obt)) +
geom_line( color="steelblue") +
geom_point() +
xlab("Ano")+
ylab("Obitos")+
ggtitle("Total de obitos - DF - 2000-2020 ")
Comparando o total de óbitos por fontes, tem-se:
ano1<-2010:2030
var1<-c(round(as.data.frame(tabela1)$obt[11:21]),rep(NA,10))
var2<-c(round(as.data.frame(tabela1m)$obt[10:19]),rep(NA,11))
var3<-as.data.frame(proj_ibge)$obt
data1<-data.frame(ano1,var1,var2,var3)
p1<-ggplot(data1, aes(x=ano1)) +
geom_line(aes(y=var1, col="SIM"),linetype=1) +
geom_line(aes(y=var2, col="SIM-média móvel"),linetype=1) +
geom_line(aes(y=var3, col="Proj. IBGE"),linetype=1) +
labs(title="Total de óbitos por fonte de dados - DF - 2010-2030", y="Total de óbitos",x=element_blank()) +
scale_color_manual(name="",
values = c("SIM"="coral4",
"SIM-média móvel"="coral3",
"Proj. IBGE"="darkblue")) +
# ylim(0,NA)+
theme(legend.position="bottom",axis.text.x = element_text(angle = 90))+
scale_x_continuous(breaks=ano1, labels=ano1)
p1
## Warning: Removed 10 rows containing missing values (`geom_line()`).
## Warning: Removed 11 rows containing missing values (`geom_line()`).
png(filename = "Total de obitos por fonte de dados - DF - 2010-2030.png",
width = 15, height = 8,
units = "cm",res = 1200)
p1
## Warning: Removed 10 rows containing missing values (`geom_line()`).
## Removed 11 rows containing missing values (`geom_line()`).
dev.off()
## png
## 2
write_xlsx(data1,"Tabela 1c - Total de obitos por fontes.xlsx")
Calculando a Taxa Bruta de Mortalidade:
# taxa bruta de mortalidade
ano2<-2010:2030
var1<-c(round(as.data.frame(tabela1)$obt[11:21]),rep(NA,10))/
as.data.frame(proj_ibge)$pop_total*1000
var2<-c(round(as.data.frame(tabela1m)$obt[10:19]),rep(NA,11))/
as.data.frame(proj_ibge)$pop_total*1000
var3<-as.data.frame(proj_ibge)$tbm
data2<-data.frame(ano2,var1,var2,var3)
p2<-ggplot(data2, aes(x=ano2)) +
geom_line(aes(y=var1, col="SIM"),linetype=1,size=1.2) +
geom_line(aes(y=var2, col="SIM-média móvel"),linetype=1,size=1.2) +
geom_line(aes(y=var3, col="Proj. IBGE"),linetype=1,size=1.2) +
labs(title="Taxa Bruta de Mortalidade por fonte de dados - DF - 2010-2030",
y="TBM",x=element_blank()) +
scale_color_manual(name="",
values = c("SIM"="coral4",
"SIM-média móvel"="coral3",
"Proj. IBGE"="darkblue")) +
# ylim(0,NA)+
theme(legend.position="bottom",axis.text.x = element_text(angle = 90))+
scale_x_continuous(breaks=ano2, labels=ano2)
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
p2
## Warning: Removed 10 rows containing missing values (`geom_line()`).
## Warning: Removed 11 rows containing missing values (`geom_line()`).
png(filename = "Taxa Bruta de Mortalidade por fonte de dados - DF - 2010-2030.png",
width = 15, height = 8,
units = "cm",res = 1200)
p2
## Warning: Removed 10 rows containing missing values (`geom_line()`).
## Removed 11 rows containing missing values (`geom_line()`).
dev.off()
## png
## 2
write_xlsx(data2,"Tabela 1d - Taxa Bruta de Mortalidade por fontes.xlsx")
Calculando o total de óbitos por faixa etária. O arquivo auxiliar pode ser acessado aqui e foi baseada nos dados disponíveis aqui.
# total de obitos para DF por faixa etaria
tab2 <- dados_sim %>%
group_by(ano,faixa_idade) %>%
summarise(
obt = n())
## `summarise()` has grouped output by 'ano'. You can override using the `.groups`
## argument.
tab2a <- dados_sim %>%
filter(SEXO=="Masculino")%>%
group_by(ano,faixa_idade) %>%
summarise(
obt_h = n())
## `summarise()` has grouped output by 'ano'. You can override using the `.groups`
## argument.
tabela2<-merge(tab2,tab2a,by=c("ano","faixa_idade"))
rm(tab2,tab2a)
tab2b <- dados_sim %>%
filter(SEXO=="Feminino")%>%
group_by(ano,faixa_idade) %>%
summarise(
obt_m = n())
## `summarise()` has grouped output by 'ano'. You can override using the `.groups`
## argument.
tabela2<-merge(tabela2,tab2b,by=c("ano","faixa_idade"))
rm(tab2b)
subset(tabela2,ano==2019) # conferencia ok com http://tabnet.datasus.gov.br/cgi/tabcgi.exe?sim/cnv/obt10df.def
## ano faixa_idade obt obt_h obt_m
## 380 2019 _menor que 1 ano 362 212 149
## 381 2019 01 a 04 anos 74 43 31
## 382 2019 05 a 09 anos 35 17 18
## 383 2019 10 a 14 anos 38 18 20
## 384 2019 15 a 19 anos 164 126 38
## 385 2019 20 a 24 anos 237 199 38
## 386 2019 25 a 29 anos 251 194 57
## 387 2019 30 a 34 anos 268 198 70
## 388 2019 35 a 39 anos 419 286 133
## 389 2019 40 a 44 anos 453 305 148
## 390 2019 45 a 49 anos 556 348 208
## 391 2019 50 a 54 anos 732 453 279
## 392 2019 55 a 59 anos 866 522 344
## 393 2019 60 a 64 anos 995 573 422
## 394 2019 65 a 69 anos 1131 648 483
## 395 2019 70 a 74 anos 1194 622 572
## 396 2019 75 a 79 anos 1356 663 693
## 397 2019 80 a 84 anos 1416 713 703
## 398 2019 85 anos ou mais 2257 890 1367
subset(tabela2,ano==2020)
## ano faixa_idade obt obt_h obt_m
## 399 2020 _menor que 1 ano 384 193 190
## 400 2020 01 a 04 anos 38 20 18
## 401 2020 05 a 09 anos 36 21 15
## 402 2020 10 a 14 anos 32 21 11
## 403 2020 15 a 19 anos 133 103 30
## 404 2020 20 a 24 anos 231 179 52
## 405 2020 25 a 29 anos 278 212 66
## 406 2020 30 a 34 anos 331 231 100
## 407 2020 35 a 39 anos 429 295 134
## 408 2020 40 a 44 anos 615 421 194
## 409 2020 45 a 49 anos 707 457 250
## 410 2020 50 a 54 anos 911 586 325
## 411 2020 55 a 59 anos 1173 731 442
## 412 2020 60 a 64 anos 1370 816 554
## 413 2020 65 a 69 anos 1607 945 662
## 414 2020 70 a 74 anos 1686 936 750
## 415 2020 75 a 79 anos 1682 896 786
## 416 2020 80 a 84 anos 1840 946 894
## 417 2020 85 anos ou mais 2730 1150 1580
## 418 2020 <NA> 5 3 2
# faz ajuste de NA - faixa da idade
table1<-as.data.frame(tabela1[,c("ano","obt")])
colnames(table1)<-c("ano","obt_total")
tabela2<-merge(tabela2,table1,by=c("ano"))
rm(table1)
table2 <- tabela2 %>%
filter(!is.na(faixa_idade))%>%
group_by(ano) %>%
summarise(
obt_sem_na = sum(obt))
tabela2<-merge(tabela2,table2,by=c("ano"))
tabela2$part<-tabela2$obt/tabela2$obt_sem_na
tabela2$obt_ajust<-round(tabela2$part*tabela2$obt_total)
# arredondou para todos
tabela2 %>%
filter(!is.na(faixa_idade))%>%
group_by(ano) %>%
summarise(
obt_conf = sum(obt_ajust))
## # A tibble: 22 × 2
## ano obt_conf
## <dbl> <dbl>
## 1 2000 8575
## 2 2001 8759
## 3 2002 9067
## 4 2003 9096
## 5 2004 9612
## 6 2005 9425
## 7 2006 9512
## 8 2007 9866
## 9 2008 10286
## 10 2009 10461
## # ℹ 12 more rows
tabela2$obt_h_ajust<-round(tabela2$obt_h/(tabela2$obt_h+tabela2$obt_m)*tabela2$obt_ajust)
tabela2$obt_m_ajust<-round(tabela2$obt_m/(tabela2$obt_h+tabela2$obt_m)*tabela2$obt_ajust)
# conferencia
tabela2$obt_h_ajust+tabela2$obt_m_ajust==tabela2$obt_ajust
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [46] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [76] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [91] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [106] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [121] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [136] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [151] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [166] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [181] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [196] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [211] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [226] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [241] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [256] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [271] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [286] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [301] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [316] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [331] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [346] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [361] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [376] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [391] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [406] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [421] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [436] TRUE TRUE TRUE
# população geral
# traz dados de população por faixa etária
pop<-read_excel("pop_faixa_etaria.xlsx",sheet="total")
colnames(pop)
## [1] "ano" "pop_total" "_menor que 1 ano" "01 a 04 anos"
## [5] "05 a 09 anos" "10 a 14 anos" "15 a 19 anos" "20 a 24 anos"
## [9] "25 a 29 anos" "30 a 34 anos" "35 a 39 anos" "40 a 44 anos"
## [13] "45 a 49 anos" "50 a 54 anos" "55 a 59 anos" "60 a 64 anos"
## [17] "65 a 69 anos" "70 a 74 anos" "75 a 79 anos" "80 a 84 anos"
## [21] "85 anos ou mais"
pop_wide<-as.data.frame(pop)
pop_long <- pop_wide %>% gather(faixa_idade, pop, -c(ano))
tabela2<-merge(tabela2,pop_long,by=c("ano","faixa_idade"))
Calculando as taxas específicas de mortalidade:
# Taxas Específicas de Mortalidade (TEM) por idade (nMx)
tabela2$tem<-tabela2$obt_ajust/tabela2$pop
#fazendo a média móvel
tabela2[,c("ano","faixa_idade","obt_ajust")]
## ano faixa_idade obt_ajust
## 1 2010 _menor que 1 ano 565
## 2 2010 01 a 04 anos 72
## 3 2010 05 a 09 anos 57
## 4 2010 10 a 14 anos 67
## 5 2010 15 a 19 anos 254
## 6 2010 20 a 24 anos 340
## 7 2010 25 a 29 anos 352
## 8 2010 30 a 34 anos 387
## 9 2010 35 a 39 anos 392
## 10 2010 40 a 44 anos 481
## 11 2010 45 a 49 anos 598
## 12 2010 50 a 54 anos 640
## 13 2010 55 a 59 anos 710
## 14 2010 60 a 64 anos 761
## 15 2010 65 a 69 anos 873
## 16 2010 70 a 74 anos 969
## 17 2010 75 a 79 anos 974
## 18 2010 80 a 84 anos 930
## 19 2010 85 anos ou mais 1430
## 20 2011 _menor que 1 ano 505
## 21 2011 01 a 04 anos 72
## 22 2011 05 a 09 anos 56
## 23 2011 10 a 14 anos 84
## 24 2011 15 a 19 anos 286
## 25 2011 20 a 24 anos 350
## 26 2011 25 a 29 anos 392
## 27 2011 30 a 34 anos 425
## 28 2011 35 a 39 anos 455
## 29 2011 40 a 44 anos 490
## 30 2011 45 a 49 anos 575
## 31 2011 50 a 54 anos 627
## 32 2011 55 a 59 anos 761
## 33 2011 60 a 64 anos 836
## 34 2011 65 a 69 anos 891
## 35 2011 70 a 74 anos 1048
## 36 2011 75 a 79 anos 970
## 37 2011 80 a 84 anos 1002
## 38 2011 85 anos ou mais 1428
## 39 2012 _menor que 1 ano 510
## 40 2012 01 a 04 anos 66
## 41 2012 05 a 09 anos 38
## 42 2012 10 a 14 anos 66
## 43 2012 15 a 19 anos 321
## 44 2012 20 a 24 anos 345
## 45 2012 25 a 29 anos 350
## 46 2012 30 a 34 anos 399
## 47 2012 35 a 39 anos 391
## 48 2012 40 a 44 anos 481
## 49 2012 45 a 49 anos 609
## 50 2012 50 a 54 anos 697
## 51 2012 55 a 59 anos 772
## 52 2012 60 a 64 anos 834
## 53 2012 65 a 69 anos 917
## 54 2012 70 a 74 anos 993
## 55 2012 75 a 79 anos 1071
## 56 2012 80 a 84 anos 972
## 57 2012 85 anos ou mais 1476
## 58 2013 _menor que 1 ano 571
## 59 2013 01 a 04 anos 72
## 60 2013 05 a 09 anos 39
## 61 2013 10 a 14 anos 68
## 62 2013 15 a 19 anos 302
## 63 2013 20 a 24 anos 294
## 64 2013 25 a 29 anos 360
## 65 2013 30 a 34 anos 366
## 66 2013 35 a 39 anos 373
## 67 2013 40 a 44 anos 462
## 68 2013 45 a 49 anos 619
## 69 2013 50 a 54 anos 640
## 70 2013 55 a 59 anos 765
## 71 2013 60 a 64 anos 854
## 72 2013 65 a 69 anos 891
## 73 2013 70 a 74 anos 1074
## 74 2013 75 a 79 anos 1090
## 75 2013 80 a 84 anos 1009
## 76 2013 85 anos ou mais 1560
## 77 2014 _menor que 1 ano 513
## 78 2014 01 a 04 anos 74
## 79 2014 05 a 09 anos 50
## 80 2014 10 a 14 anos 63
## 81 2014 15 a 19 anos 254
## 82 2014 20 a 24 anos 329
## 83 2014 25 a 29 anos 319
## 84 2014 30 a 34 anos 402
## 85 2014 35 a 39 anos 407
## 86 2014 40 a 44 anos 479
## 87 2014 45 a 49 anos 607
## 88 2014 50 a 54 anos 705
## 89 2014 55 a 59 anos 785
## 90 2014 60 a 64 anos 908
## 91 2014 65 a 69 anos 1007
## 92 2014 70 a 74 anos 1155
## 93 2014 75 a 79 anos 1135
## 94 2014 80 a 84 anos 1057
## 95 2014 85 anos ou mais 1767
## 96 2015 _menor que 1 ano 489
## 97 2015 01 a 04 anos 74
## 98 2015 05 a 09 anos 33
## 99 2015 10 a 14 anos 64
## 100 2015 15 a 19 anos 273
## 101 2015 20 a 24 anos 292
## 102 2015 25 a 29 anos 257
## 103 2015 30 a 34 anos 363
## 104 2015 35 a 39 anos 382
## 105 2015 40 a 44 anos 471
## 106 2015 45 a 49 anos 576
## 107 2015 50 a 54 anos 756
## 108 2015 55 a 59 anos 803
## 109 2015 60 a 64 anos 897
## 110 2015 65 a 69 anos 991
## 111 2015 70 a 74 anos 1096
## 112 2015 75 a 79 anos 1220
## 113 2015 80 a 84 anos 1087
## 114 2015 85 anos ou mais 1851
## 115 2016 _menor que 1 ano 448
## 116 2016 01 a 04 anos 67
## 117 2016 05 a 09 anos 39
## 118 2016 10 a 14 anos 60
## 119 2016 15 a 19 anos 250
## 120 2016 20 a 24 anos 319
## 121 2016 25 a 29 anos 281
## 122 2016 30 a 34 anos 343
## 123 2016 35 a 39 anos 454
## 124 2016 40 a 44 anos 454
## 125 2016 45 a 49 anos 610
## 126 2016 50 a 54 anos 672
## 127 2016 55 a 59 anos 822
## 128 2016 60 a 64 anos 861
## 129 2016 65 a 69 anos 1007
## 130 2016 70 a 74 anos 1097
## 131 2016 75 a 79 anos 1231
## 132 2016 80 a 84 anos 1146
## 133 2016 85 anos ou mais 1890
## 134 2017 _menor que 1 ano 495
## 135 2017 01 a 04 anos 77
## 136 2017 05 a 09 anos 37
## 137 2017 10 a 14 anos 52
## 138 2017 15 a 19 anos 232
## 139 2017 20 a 24 anos 247
## 140 2017 25 a 29 anos 226
## 141 2017 30 a 34 anos 283
## 142 2017 35 a 39 anos 383
## 143 2017 40 a 44 anos 455
## 144 2017 45 a 49 anos 570
## 145 2017 50 a 54 anos 709
## 146 2017 55 a 59 anos 864
## 147 2017 60 a 64 anos 987
## 148 2017 65 a 69 anos 1114
## 149 2017 70 a 74 anos 1063
## 150 2017 75 a 79 anos 1272
## 151 2017 80 a 84 anos 1289
## 152 2017 85 anos ou mais 2158
## 153 2018 _menor que 1 ano 453
## 154 2018 01 a 04 anos 57
## 155 2018 05 a 09 anos 34
## 156 2018 10 a 14 anos 44
## 157 2018 15 a 19 anos 184
## 158 2018 20 a 24 anos 258
## 159 2018 25 a 29 anos 228
## 160 2018 30 a 34 anos 282
## 161 2018 35 a 39 anos 415
## 162 2018 40 a 44 anos 464
## 163 2018 45 a 49 anos 572
## 164 2018 50 a 54 anos 686
## 165 2018 55 a 59 anos 777
## 166 2018 60 a 64 anos 927
## 167 2018 65 a 69 anos 1091
## 168 2018 70 a 74 anos 1104
## 169 2018 75 a 79 anos 1242
## 170 2018 80 a 84 anos 1247
## 171 2018 85 anos ou mais 2092
## 172 2019 _menor que 1 ano 362
## 173 2019 01 a 04 anos 74
## 174 2019 05 a 09 anos 35
## 175 2019 10 a 14 anos 38
## 176 2019 15 a 19 anos 164
## 177 2019 20 a 24 anos 237
## 178 2019 25 a 29 anos 251
## 179 2019 30 a 34 anos 268
## 180 2019 35 a 39 anos 419
## 181 2019 40 a 44 anos 453
## 182 2019 45 a 49 anos 556
## 183 2019 50 a 54 anos 732
## 184 2019 55 a 59 anos 866
## 185 2019 60 a 64 anos 995
## 186 2019 65 a 69 anos 1131
## 187 2019 70 a 74 anos 1194
## 188 2019 75 a 79 anos 1356
## 189 2019 80 a 84 anos 1416
## 190 2019 85 anos ou mais 2257
## 191 2020 _menor que 1 ano 384
## 192 2020 01 a 04 anos 38
## 193 2020 05 a 09 anos 36
## 194 2020 10 a 14 anos 32
## 195 2020 15 a 19 anos 133
## 196 2020 20 a 24 anos 231
## 197 2020 25 a 29 anos 278
## 198 2020 30 a 34 anos 331
## 199 2020 35 a 39 anos 429
## 200 2020 40 a 44 anos 615
## 201 2020 45 a 49 anos 707
## 202 2020 50 a 54 anos 911
## 203 2020 55 a 59 anos 1173
## 204 2020 60 a 64 anos 1370
## 205 2020 65 a 69 anos 1607
## 206 2020 70 a 74 anos 1687
## 207 2020 75 a 79 anos 1683
## 208 2020 80 a 84 anos 1841
## 209 2020 85 anos ou mais 2731
## 210 2021 _menor que 1 ano 402
## 211 2021 01 a 04 anos 54
## 212 2021 05 a 09 anos 25
## 213 2021 10 a 14 anos 40
## 214 2021 15 a 19 anos 125
## 215 2021 20 a 24 anos 228
## 216 2021 25 a 29 anos 301
## 217 2021 30 a 34 anos 390
## 218 2021 35 a 39 anos 586
## 219 2021 40 a 44 anos 833
## 220 2021 45 a 49 anos 1028
## 221 2021 50 a 54 anos 1226
## 222 2021 55 a 59 anos 1484
## 223 2021 60 a 64 anos 1749
## 224 2021 65 a 69 anos 1923
## 225 2021 70 a 74 anos 2054
## 226 2021 75 a 79 anos 1871
## 227 2021 80 a 84 anos 1798
## 228 2021 85 anos ou mais 2962
table2<-spread(tabela2[,c("ano","faixa_idade","obt_ajust")],faixa_idade,obt_ajust)
table2<-ts(table2,start = 2010,frequency = 1)
library(zoo)
library(ggplot2)
table2m<-rollmean(x = table2,k = 3)
table2m<-as.data.frame(table2m) %>% gather(faixa_idade, obt_ajust_m, -c(ano)) # para fazer o merge coloca o nome faixa_idade
tabela2<-merge(tabela2,table2m,by=c("ano","faixa_idade"),all.x = TRUE)
colnames(tabela2)
## [1] "ano" "faixa_idade" "obt" "obt_h" "obt_m"
## [6] "obt_total" "obt_sem_na" "part" "obt_ajust" "obt_h_ajust"
## [11] "obt_m_ajust" "pop" "tem" "obt_ajust_m"
tabela2$tem_m<-tabela2$obt_ajust_m/tabela2$pop
tabela2$ano<-as.character(tabela2$ano)
data<-subset(tabela2,ano!=2010&ano!=2020)
p4<-ggplot(data, aes(x=faixa_idade, y=log(tem_m),group=ano,color=ano)) +
geom_line(linetype=1,size=1.2) +
labs(title="Taxas Específicas de Mortalidade por ano - DF - 2010-2020",
y="ln(TEM)",x=element_blank()) +
# ylim(0,NA)+
theme(legend.position="bottom",axis.text.x = element_text(angle = 90))
p4
## Warning: Removed 19 rows containing missing values (`geom_line()`).
png(filename = "Taxas Específicas de Mortalidade por ano - DF - 2010-2020.png",
width = 15, height = 12,
units = "cm",res = 1200)
p4
## Warning: Removed 19 rows containing missing values (`geom_line()`).
dev.off()
## png
## 2
write_xlsx(tabela2,"Tabela 1e - Taxas Específicas de Mortalidade.xlsx")
Fazendo em separado para homens e mulheres
# população homens
# traz dados de população por faixa etária
pop_h<-read_excel("pop_faixa_etaria.xlsx",sheet="homens")
colnames(pop_h)
## [1] "ano" "pop_total" "_menor que 1 ano" "01 a 04 anos"
## [5] "05 a 09 anos" "10 a 14 anos" "15 a 19 anos" "20 a 24 anos"
## [9] "25 a 29 anos" "30 a 34 anos" "35 a 39 anos" "40 a 44 anos"
## [13] "45 a 49 anos" "50 a 54 anos" "55 a 59 anos" "60 a 64 anos"
## [17] "65 a 69 anos" "70 a 74 anos" "75 a 79 anos" "80 a 84 anos"
## [21] "85 anos ou mais"
library(tidyr)
pop_h_wide<-as.data.frame(pop_h)
pop_h_long <- pop_h_wide %>% gather(faixa_idade, pop_h, -c(ano)) # para fazer o merge coloca o nome faixa_idade_mae_15_49
tabela2<-merge(tabela2,pop_h_long,by=c("ano","faixa_idade"))
# Taxas Específicas de Mortalidade (TEM) masculina por idade (nMx)
tabela2$tem_h<-tabela2$obt_h_ajust/tabela2$pop_h
#fazendo a média móvel
table2h<-spread(tabela2[,c("ano","faixa_idade","obt_h_ajust")],faixa_idade,obt_h_ajust)
table2h$ano<-as.numeric(table2h$ano)
table2h<-ts(table2h,start = 2010,frequency = 1)
library(zoo)
library(ggplot2)
table2hm<-rollmean(x = table2h,k = 3)
table2hm<-as.data.frame(table2hm)
table2hm<-table2hm %>% gather(faixa_idade, obt_h_ajust_m, -c(ano)) # para fazer o merge coloca o nome faixa_idade
tabela2<-merge(tabela2,table2hm,by=c("ano","faixa_idade"),all.x = TRUE)
colnames(tabela2)
## [1] "ano" "faixa_idade" "obt" "obt_h"
## [5] "obt_m" "obt_total" "obt_sem_na" "part"
## [9] "obt_ajust" "obt_h_ajust" "obt_m_ajust" "pop"
## [13] "tem" "obt_ajust_m" "tem_m" "pop_h"
## [17] "tem_h" "obt_h_ajust_m"
tabela2$tem_h_m<-tabela2$obt_h_ajust_m/tabela2$pop_h
tabela2$ano<-as.character(tabela2$ano)
data<-subset(tabela2,ano!=2010&ano!=2020)
p4<-ggplot(data, aes(x=faixa_idade, y=log(tem_h_m),group=ano,color=ano)) +
geom_line(linetype=1,size=1.2) +
labs(title="Taxas Específicas de Mortalidade dos homens por ano - DF - 2010-2020",
y="ln(TEM)",x=element_blank()) +
# ylim(0,NA)+
theme(legend.position="bottom",axis.text.x = element_text(angle = 90))
p4
## Warning: Removed 19 rows containing missing values (`geom_line()`).
png(filename = "Taxas Específicas de Mortalidade dos homens por ano - DF - 2010-2020.png",
width = 15, height = 12,
units = "cm",res = 1200)
p4
## Warning: Removed 19 rows containing missing values (`geom_line()`).
dev.off()
## png
## 2
# população mulheres
library(readxl)
# traz dados de população por faixa etária
pop_m<-read_excel("pop_faixa_etaria.xlsx",sheet="mulheres")
colnames(pop_m)
## [1] "ano" "pop_total" "_menor que 1 ano" "01 a 04 anos"
## [5] "05 a 09 anos" "10 a 14 anos" "15 a 19 anos" "20 a 24 anos"
## [9] "25 a 29 anos" "30 a 34 anos" "35 a 39 anos" "40 a 44 anos"
## [13] "45 a 49 anos" "50 a 54 anos" "55 a 59 anos" "60 a 64 anos"
## [17] "65 a 69 anos" "70 a 74 anos" "75 a 79 anos" "80 a 84 anos"
## [21] "85 anos ou mais"
library(tidyr)
pop_m_wide<-as.data.frame(pop_m)
pop_m_long <- pop_m_wide %>% gather(faixa_idade, pop_m, -c(ano)) # para fazer o merge coloca o nome faixa_idade_mae_15_49
tabela2<-merge(tabela2,pop_m_long,by=c("ano","faixa_idade"))
# Taxas Específicas de Mortalidade (TEM) feminina por idade (nMx)
tabela2$tem_mu<-tabela2$obt_m_ajust/tabela2$pop_m
#fazendo a média móvel
table2<-spread(tabela2[,c("ano","faixa_idade","obt_m_ajust")],faixa_idade,obt_m_ajust)
table2$ano<-as.numeric(table2$ano)
table2<-ts(table2,start = 2010,frequency = 1)
library(zoo)
library(ggplot2)
table2m<-rollmean(x = table2,k = 3)
table2m<-as.data.frame(table2m)
table2m<-table2m %>% gather(faixa_idade, obt_m_ajust_m, -c(ano)) # para fazer o merge coloca o nome faixa_idade
tabela2<-merge(tabela2,table2m,by=c("ano","faixa_idade"),all.x = TRUE)
colnames(tabela2)
## [1] "ano" "faixa_idade" "obt" "obt_h"
## [5] "obt_m" "obt_total" "obt_sem_na" "part"
## [9] "obt_ajust" "obt_h_ajust" "obt_m_ajust" "pop"
## [13] "tem" "obt_ajust_m" "tem_m" "pop_h"
## [17] "tem_h" "obt_h_ajust_m" "tem_h_m" "pop_m"
## [21] "tem_mu" "obt_m_ajust_m"
tabela2$tem_m_m<-tabela2$obt_m_ajust_m/tabela2$pop_m
tabela2$ano<-as.character(tabela2$ano)
data<-subset(tabela2,ano!=2010&ano!=2020)
p4<-ggplot(data, aes(x=faixa_idade, y=log(tem_m_m),group=ano,color=ano)) +
geom_line(linetype=1,size=1.2) +
labs(title="Taxas Específicas de Mortalidade das mulheres por ano - DF - 2010-2020",
y="ln(TEM)",x=element_blank()) +
# ylim(0,NA)+
theme(legend.position="bottom",axis.text.x = element_text(angle = 90))
p4
## Warning: Removed 19 rows containing missing values (`geom_line()`).
png(filename = "Taxas Específicas de Mortalidade das mulheres por ano - DF - 2010-2020.png",
width = 15, height = 12,
units = "cm",res = 1200)
p4
## Warning: Removed 19 rows containing missing values (`geom_line()`).
dev.off()
## png
## 2
write_xlsx(tabela2,"Tabela 1f - Taxas Específicas de Mortalidade por sexo.xlsx")
Calculando a taxa de mortalidade infantil:
# Taxa de Mortalidade Infantil (TMI)
# trazer informação do total de nascidos vivos
nascidos_vivos<- read_excel("Tabela 1b - Total de nascimentos com média móvel.xlsx")
subset(tabela2,faixa_idade=="_menor que 1 ano")
## ano faixa_idade obt obt_h obt_m obt_total obt_sem_na part
## 1 2010 _menor que 1 ano 559 300 259 10851 10731 0.05209207
## 20 2011 _menor que 1 ano 499 279 219 11253 11128 0.04484184
## 39 2012 _menor que 1 ano 506 297 208 11308 11211 0.04513424
## 58 2013 _menor que 1 ano 567 291 275 11408 11322 0.05007949
## 77 2014 _menor que 1 ano 510 294 216 12018 11950 0.04267782
## 96 2015 _menor que 1 ano 488 253 233 11975 11943 0.04086076
## 115 2016 _menor que 1 ano 447 259 188 12050 12027 0.03716638
## 134 2017 _menor que 1 ano 494 264 230 12514 12492 0.03954531
## 153 2018 _menor que 1 ano 453 244 209 12157 12148 0.03729009
## 172 2019 _menor que 1 ano 362 212 149 12804 12804 0.02827241
## 191 2020 _menor que 1 ano 384 193 190 16218 16213 0.02368470
## 210 2021 _menor que 1 ano 402 240 160 19079 19073 0.02107692
## obt_ajust obt_h_ajust obt_m_ajust pop tem obt_ajust_m tem_m
## 1 565 303 262 41800 0.013516746 NA NA
## 20 505 283 222 41163 0.012268299 526.6667 0.012794662
## 39 510 300 210 40826 0.012492039 528.6667 0.012949264
## 58 571 294 277 41367 0.013803273 531.3333 0.012844377
## 77 513 296 217 42786 0.011989903 524.3333 0.012254787
## 96 489 255 234 43798 0.011164893 483.3333 0.011035512
## 115 448 260 188 42989 0.010421271 477.3333 0.011103616
## 134 495 265 230 42707 0.011590606 465.3333 0.010895950
## 153 453 244 209 43525 0.010407812 436.6667 0.010032548
## 172 362 213 149 43400 0.008341014 399.6667 0.009208909
## 191 384 194 190 43257 0.008877176 382.6667 0.008846352
## 210 402 241 161 43110 0.009324983 NA NA
## pop_h tem_h obt_h_ajust_m tem_h_m pop_m tem_mu obt_m_ajust_m
## 1 21391 0.014164836 NA NA 20409 0.012837474 NA
## 20 21075 0.013428233 295.3333 0.014013444 20088 0.011051374 231.3333
## 39 20903 0.014352007 292.3333 0.013985233 19923 0.010540581 236.3333
## 58 21180 0.013881020 296.6667 0.014006925 20187 0.013721702 234.6667
## 77 21907 0.013511663 281.6667 0.012857382 20879 0.010393218 242.6667
## 96 22425 0.011371237 270.3333 0.012054998 21373 0.010948393 213.0000
## 115 22011 0.011812276 260.0000 0.011812276 20978 0.008961769 217.3333
## 134 21867 0.012118718 256.3333 0.011722382 20840 0.011036468 209.0000
## 153 22286 0.010948578 240.6667 0.010799007 21239 0.009840388 196.0000
## 172 22222 0.009585096 217.0000 0.009765098 21178 0.007035603 182.6667
## 191 22149 0.008758860 216.0000 0.009752133 21108 0.009001327 166.6667
## 210 22074 0.010917822 NA NA 21036 0.007653546 NA
## tem_m_m
## 1 NA
## 20 0.011515996
## 39 0.011862337
## 58 0.011624643
## 77 0.011622523
## 96 0.009965845
## 115 0.010360060
## 134 0.010028791
## 153 0.009228306
## 172 0.008625303
## 191 0.007895900
## 210 NA
tabela3<-subset(tabela2,faixa_idade=="_menor que 1 ano")
tabela3<-merge(tabela3,nascidos_vivos,by=("ano"),all.x=TRUE)
tabela3$tmi<-tabela3$obt_ajust_m/tabela3$nasc
tabela3$tmi_h<-tabela3$obt_h_ajust_m/tabela3$nasc_masc_ajust
tabela3$tmi_m<-tabela3$obt_m_ajust_m/tabela3$nasc_fem_ajust
ano4<-2010:2030
var1<-c(tabela3$tmi,rep(NA,9))*1000
var2<-c(tabela3$tmi_h,rep(NA,9))*1000
var3<-c(tabela3$tmi_m,rep(NA,9))*1000
var4<-as.data.frame(proj_ibge)$mort_infantil_total
var5<-as.data.frame(proj_ibge)$mort_infantil_homens
var6<-as.data.frame(proj_ibge)$mort_infantil_mulheres
data4<-data.frame(ano4,var1,var2,var3,var4,var5,var6)
p5<- ggplot(data4, aes(x=ano4)) +
geom_line(aes(y=var1, col="SIM_geral"),linetype=1,size=1.2) +
geom_line(aes(y=var2, col="SIM_homens"),linetype=1,size=1.2) +
geom_line(aes(y=var3, col="SIM_mulheres"),linetype=1,size=1.2) +
geom_line(aes(y=var4, col="Proj. IBGE_geral"),linetype=1,size=1.2) +
geom_line(aes(y=var5, col="Proj. IBGE_homens"),linetype=1,size=1.2) +
geom_line(aes(y=var6, col="Proj. IBGE_mulheres"),linetype=1,size=1.2) +
labs(title="Taxa de Mortalidade Infantil por sexo e fonte de dados - DF - 2010-2030",
y="TMI",x=element_blank()) +
scale_linetype_manual(values = c(rep("solid", 3), rep("dashed", 3))) +
scale_color_manual(name="",
values = c(
"SIM_geral"="gray1",
"SIM_homens"="gray20",
"SIM_mulheres"="gray40",
"Proj. IBGE_geral"="blue4",
"Proj. IBGE_homens"="blue",
"Proj. IBGE_mulheres"="deepskyblue1")) +
# ylim(0,NA)+
theme(legend.position="bottom",axis.text.x = element_text(angle = 90))
p5
## Warning: Removed 11 rows containing missing values (`geom_line()`).
## Removed 11 rows containing missing values (`geom_line()`).
## Removed 11 rows containing missing values (`geom_line()`).
png(filename = "Taxa de Mortalidade Infantil por sexo e fonte de dados - DF - 2010-2030.png",
width = 15, height = 12,
units = "cm",res = 1200)
p5
## Warning: Removed 11 rows containing missing values (`geom_line()`).
## Removed 11 rows containing missing values (`geom_line()`).
## Removed 11 rows containing missing values (`geom_line()`).
dev.off()
## png
## 2
write_xlsx(data4,"Tabela 1g - Taxa de Mortalidade Infantil por sexo e fontes.xlsx")