Continuando a série de posts sobre o pacote microdatasus em meus posts Baixando dados do Datasus no R e Proporção de Partos Vaginais e Cesáreos na População Brasileira, dessa vez irei utilizar o Sistema de Informações sobre Nascidos Vivos (SINASC) para determinar se nasceram mais meninos ou meninas no Brasil entre os anos 1996 e 2020.

Novamente, o primeiro passo é baixar os dados para os anos e sistema de informação que me interessam. Nesse caso, estou baixando os dados de todo o período disponível:

library(microdatasus)

datasus <- 
  fetch_datasus(year_start = 1996, 
                year_end = 2020,
                information_system = "SINASC")

Com os dados baixados, eu contei a quantidade de nascimentos de cada sexo por ano. Note que foi preciso converter a variável ANO para formato de data, para assim extrair o valor do ano de forma mais simples:

# criar tabela com proporcao de partos por ano

library(tidyverse)
theme_set(theme_bw())

tabela <- 
  datasus |> 
  select(SEXO, DTNASC) |> 
  drop_na() |> 
  mutate(SEXO = case_when(
    SEXO == 0 ~ "Ignorado",
    SEXO == 1 ~ "Masculino",
    SEXO == 2 ~ "Feminino"
  )) |> 
  filter(SEXO != "Ignorado") |> 
  mutate(DTNASC = as.character(DTNASC)) |> 
  mutate(DTNASC = dmy(DTNASC)) |> 
  mutate(ANO = year(DTNASC)) |> 
  group_by(ANO) |> 
  count(SEXO) |> 
  ungroup() |> 
  group_by(ANO) |> 
  mutate(prop = n/sum(n)*100) |> 
  mutate(SEXO = factor(SEXO, levels = c("Masculino", "Feminino"))) |> 
  drop_na()

Com a tabela pronta, bastou criar o gráfico de área com a informação que eu desejava:

ggplot(tabela, aes(x = ANO, y = prop, fill = SEXO)) +
  geom_area() +
  labs(x = "Ano", y = "Taxa Acumulada de Partos", title = "Taxas Históricas de Sexo nos Nascimentos no Brasil", fill = "Sexo", caption = "marcusnunes.me") +
  scale_y_continuous(breaks = seq(0, 100, 10)) +
  scale_fill_manual(values = c("#449A44", "#F9E14B")) +
  theme_bw()

Como é possível ver, em geral, nascem mais homens do que mulheres no país. Considerando todos os anos, são 36.239.670 nascimentos de homens para 34.488.386 nascimentos de mulheres no período, uma proporção de 1,05 nascimentos de meninos para cada nascimento de menina.

A tabela completa, com as taxas exatas por ano, está abaixo:

tabela |> 
  print(n = Inf)
## # A tibble: 48 × 4
## # Groups:   ANO [24]
##      ANO SEXO            n  prop
##    <dbl> <fct>       <int> <dbl>
##  1  1996 Feminino  1122301  48.7
##  2  1996 Masculino 1182074  51.3
##  3  1997 Feminino  1473525  48.8
##  4  1997 Masculino 1547975  51.2
##  5  1998 Feminino  1534565  48.8
##  6  1998 Masculino 1611279  51.2
##  7  1999 Feminino  1581033  48.7
##  8  1999 Masculino 1668551  51.3
##  9  2000 Feminino  1559918  48.7
## 10  2000 Masculino 1640144  51.3
## 11  2001 Feminino  1516398  48.8
## 12  2001 Masculino 1593616  51.2
## 13  2002 Feminino  1487582  48.7
## 14  2002 Masculino 1567409  51.3
## 15  2003 Feminino  1479019  48.7
## 16  2003 Masculino 1554918  51.3
## 17  2004 Feminino  1473595  48.8
## 18  2004 Masculino 1548911  51.2
## 19  2005 Feminino  1479872  48.8
## 20  2005 Masculino 1551805  51.2
## 21  2006 Feminino  1435438  48.8
## 22  2006 Masculino 1508567  51.2
## 23  2007 Feminino  1408447  48.7
## 24  2007 Masculino 1482360  51.3
## 25  2008 Feminino  1430680  48.8
## 26  2008 Masculino 1503748  51.2
## 27  2009 Feminino  1405083  48.8
## 28  2009 Masculino 1476036  51.2
## 29  2010 Feminino  1394473  48.7
## 30  2010 Masculino 1466953  51.3
## 31  2011 Feminino  1420668  48.8
## 32  2011 Masculino 1492056  51.2
## 33  2012 Feminino  1419332  48.9
## 34  2012 Masculino 1485992  51.1
## 35  2013 Feminino  1416490  48.8
## 36  2013 Masculino 1487006  51.2
## 37  2015 Feminino  1472436  48.8
## 38  2015 Masculino 1544692  51.2
## 39  2016 Feminino  1394023  48.8
## 40  2016 Masculino 1463231  51.2
## 41  2017 Feminino  1424524  48.7
## 42  2017 Masculino 1498483  51.3
## 43  2018 Feminino  1435840  48.8
## 44  2018 Masculino 1508595  51.2
## 45  2019 Feminino  1391486  48.8
## 46  2019 Masculino 1457226  51.2
## 47  2020 Feminino  1331658  48.8
## 48  2020 Masculino 1398043  51.2